
.//Obj/Release_APT32F102.elf:     file format elf32-csky-little


Disassembly of section .text:

00000000 <vector_table>:
//UART_IO_G:0 1
//ReturnValue:NONE
/*************************************************************/
void UART_IO_Init(UART_NUM_TypeDef IO_UART_NUM , U8_T UART_IO_G)
{
    if (IO_UART_NUM==IO_UART0)
       0:	00000108 	.long	0x00000108
    {
		if(UART_IO_G==0)
       4:	00002cde 	.long	0x00002cde
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000044;       //PA0.1->RXD0, PA0.0->TXD0
       8:	00002cce 	.long	0x00002cce
       c:	00000180 	.long	0x00000180
      10:	00002cd6 	.long	0x00002cd6
      14:	00002c94 	.long	0x00002c94
    }
	 if (IO_UART_NUM==IO_UART2)
    {
        if(UART_IO_G==0)
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000077;       //PA0.0->RXD2, PA0.1->TXD2
      18:	00000180 	.long	0x00000180
		else if(UART_IO_G==1)
      1c:	00002cc6 	.long	0x00002cc6
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00700000;      //PA0.5->RXD0, PA0.12->TXD0
      20:	00002cbe 	.long	0x00002cbe
      24:	00000180 	.long	0x00000180
      28:	00000180 	.long	0x00000180
      2c:	00000180 	.long	0x00000180
      30:	00000180 	.long	0x00000180
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF)  | 0x00070000;      
      34:	00000180 	.long	0x00000180
      38:	00000180 	.long	0x00000180
      3c:	00000180 	.long	0x00000180
      40:	00002cb6 	.long	0x00002cb6
     if (IO_UART_NUM==IO_UART1)
      44:	00002cae 	.long	0x00002cae
        if(UART_IO_G==0)
      48:	00002ca6 	.long	0x00002ca6
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000007;       //PA0.13->RXD1, PB0.0->TXD1
      4c:	00002c9e 	.long	0x00002c9e
      50:	00000180 	.long	0x00000180
      54:	00000180 	.long	0x00000180
      58:	00000180 	.long	0x00000180
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00700000;       
      5c:	00000180 	.long	0x00000180
      60:	00000180 	.long	0x00000180
      64:	00000180 	.long	0x00000180
      68:	00000180 	.long	0x00000180
			GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000;        //PA0.15->RXD1, PA0.14->TXD1
      6c:	00000180 	.long	0x00000180
      70:	00000180 	.long	0x00000180
		else if(UART_IO_G==1)
      74:	00000180 	.long	0x00000180
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF) | 0X00077000;        //PA0.4->RXD1, PA0.3->TXD1
      78:	00000180 	.long	0x00000180
      7c:	00002c96 	.long	0x00002c96
      80:	000024d4 	.long	0x000024d4
      84:	000024f8 	.long	0x000024f8
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000;        //PA0.7->RXD2, PA0.6->TXD2
		}
		else if(UART_IO_G==2)
		{
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
      88:	000025bc 	.long	0x000025bc
		else if(UART_IO_G==2)
      8c:	00002cee 	.long	0x00002cee
			GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000;        //PA0.15->RXD1, PA0.14->TXD1
      90:	00002698 	.long	0x00002698
      94:	00000180 	.long	0x00000180
      98:	00002814 	.long	0x00002814
      9c:	00002ae8 	.long	0x00002ae8
	 if (IO_UART_NUM==IO_UART2)
      a0:	00002b04 	.long	0x00002b04
        if(UART_IO_G==0)
      a4:	00002844 	.long	0x00002844
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000077;       //PA0.0->RXD2, PA0.1->TXD2
      a8:	00000180 	.long	0x00000180
      ac:	00000180 	.long	0x00000180
      b0:	000028d8 	.long	0x000028d8
      b4:	0000293c 	.long	0x0000293c
		else if(UART_IO_G==1)
      b8:	00002988 	.long	0x00002988
			GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000;        //PA0.7->RXD2, PA0.6->TXD2
      bc:	000029d4 	.long	0x000029d4
      c0:	00000180 	.long	0x00000180
      c4:	00002a20 	.long	0x00002a20
      c8:	00000180 	.long	0x00000180
		else if(UART_IO_G==2)
      cc:	00002a34 	.long	0x00002a34
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
      d0:	00002a6c 	.long	0x00002a6c
      d4:	00002b20 	.long	0x00002b20
      d8:	00002b48 	.long	0x00002b48
      dc:	00002b98 	.long	0x00002b98
      e0:	00002ce6 	.long	0x00002ce6
      e4:	00000180 	.long	0x00000180
      e8:	00002bec 	.long	0x00002bec
      ec:	00000180 	.long	0x00000180
      f0:	00002c1c 	.long	0x00002c1c
      f4:	00002c54 	.long	0x00002c54
      f8:	00000180 	.long	0x00000180
      fc:	00000180 	.long	0x00000180
	...

00000108 <__start>:
//  .long __start
__start:

	
  //initialize all registers
  movi r0, 0
     108:	3000      	movi      	r0, 0
  movi r1, 0
     10a:	3100      	movi      	r1, 0
  movi r2, 0
     10c:	3200      	movi      	r2, 0
  movi r3, 0
     10e:	3300      	movi      	r3, 0
  movi r4, 0
     110:	3400      	movi      	r4, 0
  movi r5, 0
     112:	3500      	movi      	r5, 0
  movi r6, 0
     114:	3600      	movi      	r6, 0
  movi r7, 0
     116:	3700      	movi      	r7, 0
  //movi r13, 0
  //movi r14, 0
  //movi r15, 0

//set VBR
  lrw r2, vector_table
     118:	105b      	lrw      	r2, 0x0	// 184 <DummyHandler+0x4>
  mtcr r2, cr<1,0>
     11a:	c0026421 	mtcr      	r2, cr<1, 0>

//enable EE bit of psr
  mfcr r2, cr<0,0>
     11e:	c0006022 	mfcr      	r2, cr<0, 0>
  bseti r2, r2, 8
     122:	3aa8      	bseti      	r2, 8
  mtcr r2, cr<0,0>
     124:	c0026420 	mtcr      	r2, cr<0, 0>
//  st.w    r2, (r1,0x4)
//  movi    r2, 0x1
//  st.w    r2, (r1,0x0)

//disable power peak 
  lrw     r1, 0xe000ef90
     128:	1038      	lrw      	r1, 0xe000ef90	// 188 <DummyHandler+0x8>
  movi    r2, 0x0
     12a:	3200      	movi      	r2, 0
  st.w    r2, (r1, 0x0)
     12c:	b140      	st.w      	r2, (r1, 0x0)



//initialize kernel stack
  lrw  r7, __kernel_stack
     12e:	10f8      	lrw      	r7, 0x20000ff8	// 18c <DummyHandler+0xc>
  mov r14,r7
     130:	6f9f      	mov      	r14, r7
  subi r6,r7,0x4
     132:	5fcf      	subi      	r6, r7, 4

  //lrw  r3, 0x40
  lrw  r3, 0x04
     134:	3304      	movi      	r3, 4
	
  subu r4, r7, r3
     136:	5f8d      	subu      	r4, r7, r3
  lrw  r5, 0x0
     138:	3500      	movi      	r5, 0

0000013a <INIT_KERLE_STACK>:
INIT_KERLE_STACK:
  addi r4, 0x4
     13a:	2403      	addi      	r4, 4
  st.w r5, (r4)
     13c:	b4a0      	st.w      	r5, (r4, 0x0)
  //cmphs r7, r4
  cmphs r6, r4
     13e:	6518      	cmphs      	r6, r4
  bt  INIT_KERLE_STACK
     140:	0bfd      	bt      	0x13a	// 13a <INIT_KERLE_STACK>

00000142 <__to_main>:
        
__to_main:
  lrw r0,__main
     142:	1014      	lrw      	r0, 0x1634	// 190 <DummyHandler+0x10>
  jsr r0
     144:	7bc1      	jsr      	r0
  mov r0, r0
     146:	6c03      	mov      	r0, r0
  mov r0, r0
     148:	6c03      	mov      	r0, r0


  
  lrw r15, __exit
     14a:	ea8f0013 	lrw      	r15, 0x15c	// 194 <DummyHandler+0x14>
  lrw r0,main
     14e:	1013      	lrw      	r0, 0x2cf6	// 198 <DummyHandler+0x18>
  jmp r0
     150:	7800      	jmp      	r0
  mov r0, r0
     152:	6c03      	mov      	r0, r0
  mov r0, r0
     154:	6c03      	mov      	r0, r0
  mov r0, r0
     156:	6c03      	mov      	r0, r0
  mov r0, r0
     158:	6c03      	mov      	r0, r0
  mov r0, r0
     15a:	6c03      	mov      	r0, r0

0000015c <__exit>:

.export __exit
__exit:

  lrw r4, 0x20003000
     15c:	1090      	lrw      	r4, 0x20003000	// 19c <DummyHandler+0x1c>
  //lrw r5, 0x0
  mov r5, r0
     15e:	6d43      	mov      	r5, r0
  st.w r5, (r4)
     160:	b4a0      	st.w      	r5, (r4, 0x0)

  mfcr r1, cr<0,0>
     162:	c0006021 	mfcr      	r1, cr<0, 0>
  lrw  r1, 0xFFFF
     166:	102f      	lrw      	r1, 0xffff	// 1a0 <DummyHandler+0x20>
  mtcr r1, cr<11,0>
     168:	c001642b 	mtcr      	r1, cr<11, 0>
  lrw     r1, 0xFFF
     16c:	102e      	lrw      	r1, 0xfff	// 1a4 <DummyHandler+0x24>
  movi    r0, 0x0
     16e:	3000      	movi      	r0, 0
  st      r1, (r0)
     170:	b020      	st.w      	r1, (r0, 0x0)

00000172 <__fail>:

.export __fail
__fail:
  lrw  r1, 0xEEEE
     172:	102e      	lrw      	r1, 0xeeee	// 1a8 <DummyHandler+0x28>
  mtcr r1, cr<11,0>
     174:	c001642b 	mtcr      	r1, cr<11, 0>
  lrw     r1, 0xEEE
     178:	102d      	lrw      	r1, 0xeee	// 1ac <DummyHandler+0x2c>
  movi    r0, 0x0
     17a:	3000      	movi      	r0, 0
  st      r1, (r0)
     17c:	b020      	st.w      	r1, (r0, 0x0)

0000017e <__dummy>:

__dummy:
  br      __fail
     17e:	07fa      	br      	0x172	// 172 <__fail>

00000180 <DummyHandler>:

.export DummyHandler
DummyHandler:
  br      __fail
     180:	07f9      	br      	0x172	// 172 <__fail>
     182:	0000      	.short	0x0000
     184:	00000000 	.long	0x00000000
     188:	e000ef90 	.long	0xe000ef90
     18c:	20000ff8 	.long	0x20000ff8
     190:	00001634 	.long	0x00001634
     194:	0000015c 	.long	0x0000015c
     198:	00002cf6 	.long	0x00002cf6
     19c:	20003000 	.long	0x20003000
     1a0:	0000ffff 	.long	0x0000ffff
     1a4:	00000fff 	.long	0x00000fff
     1a8:	0000eeee 	.long	0x0000eeee
     1ac:	00000eee 	.long	0x00000eee

000001b0 <___gnu_csky_case_uqi>:
     1b0:	1421      	subi      	r14, r14, 4
     1b2:	b820      	st.w      	r1, (r14, 0x0)
     1b4:	6c7f      	mov      	r1, r15
     1b6:	6040      	addu      	r1, r0
     1b8:	8120      	ld.b      	r1, (r1, 0x0)
     1ba:	4121      	lsli      	r1, r1, 1
     1bc:	63c4      	addu      	r15, r1
     1be:	9820      	ld.w      	r1, (r14, 0x0)
     1c0:	1401      	addi      	r14, r14, 4
     1c2:	783c      	jmp      	r15

000001c4 <_fpadd_parts>:
     1c4:	14c4      	push      	r4-r7
     1c6:	1421      	subi      	r14, r14, 4
     1c8:	9060      	ld.w      	r3, (r0, 0x0)
     1ca:	3b01      	cmphsi      	r3, 2
     1cc:	0c3b      	bf      	0x242	// 242 <_fpadd_parts+0x7e>
     1ce:	9180      	ld.w      	r4, (r1, 0x0)
     1d0:	3c01      	cmphsi      	r4, 2
     1d2:	0c3a      	bf      	0x246	// 246 <_fpadd_parts+0x82>
     1d4:	3b44      	cmpnei      	r3, 4
     1d6:	0c76      	bf      	0x2c2	// 2c2 <_fpadd_parts+0xfe>
     1d8:	3c44      	cmpnei      	r4, 4
     1da:	0c36      	bf      	0x246	// 246 <_fpadd_parts+0x82>
     1dc:	3c42      	cmpnei      	r4, 2
     1de:	0c5c      	bf      	0x296	// 296 <_fpadd_parts+0xd2>
     1e0:	3b42      	cmpnei      	r3, 2
     1e2:	0c32      	bf      	0x246	// 246 <_fpadd_parts+0x82>
     1e4:	90a2      	ld.w      	r5, (r0, 0x8)
     1e6:	91e2      	ld.w      	r7, (r1, 0x8)
     1e8:	5d9d      	subu      	r4, r5, r7
     1ea:	9063      	ld.w      	r3, (r0, 0xc)
     1ec:	3cdf      	btsti      	r4, 31
     1ee:	b860      	st.w      	r3, (r14, 0x0)
     1f0:	6d93      	mov      	r6, r4
     1f2:	9163      	ld.w      	r3, (r1, 0xc)
     1f4:	086f      	bt      	0x2d2	// 2d2 <_fpadd_parts+0x10e>
     1f6:	3e3f      	cmplti      	r6, 32
     1f8:	082a      	bt      	0x24c	// 24c <_fpadd_parts+0x88>
     1fa:	655d      	cmplt      	r7, r5
     1fc:	0c5f      	bf      	0x2ba	// 2ba <_fpadd_parts+0xf6>
     1fe:	3300      	movi      	r3, 0
     200:	9001      	ld.w      	r0, (r0, 0x4)
     202:	9121      	ld.w      	r1, (r1, 0x4)
     204:	6442      	cmpne      	r0, r1
     206:	0c33      	bf      	0x26c	// 26c <_fpadd_parts+0xa8>
     208:	3840      	cmpnei      	r0, 0
     20a:	9820      	ld.w      	r1, (r14, 0x0)
     20c:	0c54      	bf      	0x2b4	// 2b4 <_fpadd_parts+0xf0>
     20e:	60c6      	subu      	r3, r1
     210:	3bdf      	btsti      	r3, 31
     212:	0863      	bt      	0x2d8	// 2d8 <_fpadd_parts+0x114>
     214:	3100      	movi      	r1, 0
     216:	b221      	st.w      	r1, (r2, 0x4)
     218:	b2a2      	st.w      	r5, (r2, 0x8)
     21a:	b263      	st.w      	r3, (r2, 0xc)
     21c:	5b23      	subi      	r1, r3, 1
     21e:	1293      	lrw      	r4, 0x3fffffff	// 368 <__subsf3+0x34>
     220:	6504      	cmphs      	r1, r4
     222:	080b      	bt      	0x238	// 238 <_fpadd_parts+0x74>
     224:	9222      	ld.w      	r1, (r2, 0x8)
     226:	2900      	subi      	r1, 1
     228:	4361      	lsli      	r3, r3, 1
     22a:	5b03      	subi      	r0, r3, 1
     22c:	6410      	cmphs      	r4, r0
     22e:	6d47      	mov      	r5, r1
     230:	2900      	subi      	r1, 1
     232:	0bfb      	bt      	0x228	// 228 <_fpadd_parts+0x64>
     234:	b263      	st.w      	r3, (r2, 0xc)
     236:	b2a2      	st.w      	r5, (r2, 0x8)
     238:	3103      	movi      	r1, 3
     23a:	3bdf      	btsti      	r3, 31
     23c:	b220      	st.w      	r1, (r2, 0x0)
     23e:	0821      	bt      	0x280	// 280 <_fpadd_parts+0xbc>
     240:	6c0b      	mov      	r0, r2
     242:	1401      	addi      	r14, r14, 4
     244:	1484      	pop      	r4-r7
     246:	6c07      	mov      	r0, r1
     248:	1401      	addi      	r14, r14, 4
     24a:	1484      	pop      	r4-r7
     24c:	3c20      	cmplti      	r4, 1
     24e:	084c      	bt      	0x2e6	// 2e6 <_fpadd_parts+0x122>
     250:	3401      	movi      	r4, 1
     252:	7118      	lsl      	r4, r6
     254:	2c00      	subi      	r4, 1
     256:	6dcf      	mov      	r7, r3
     258:	68d0      	and      	r3, r4
     25a:	3b40      	cmpnei      	r3, 0
     25c:	9001      	ld.w      	r0, (r0, 0x4)
     25e:	3300      	movi      	r3, 0
     260:	9121      	ld.w      	r1, (r1, 0x4)
     262:	60cd      	addc      	r3, r3
     264:	71d9      	lsr      	r7, r6
     266:	6442      	cmpne      	r0, r1
     268:	6cdc      	or      	r3, r7
     26a:	0bcf      	bt      	0x208	// 208 <_fpadd_parts+0x44>
     26c:	9820      	ld.w      	r1, (r14, 0x0)
     26e:	604c      	addu      	r1, r3
     270:	6cc7      	mov      	r3, r1
     272:	b223      	st.w      	r1, (r2, 0xc)
     274:	3bdf      	btsti      	r3, 31
     276:	3103      	movi      	r1, 3
     278:	b201      	st.w      	r0, (r2, 0x4)
     27a:	b2a2      	st.w      	r5, (r2, 0x8)
     27c:	b220      	st.w      	r1, (r2, 0x0)
     27e:	0fe1      	bf      	0x240	// 240 <_fpadd_parts+0x7c>
     280:	3001      	movi      	r0, 1
     282:	4b21      	lsri      	r1, r3, 1
     284:	68c0      	and      	r3, r0
     286:	6cc4      	or      	r3, r1
     288:	b263      	st.w      	r3, (r2, 0xc)
     28a:	9262      	ld.w      	r3, (r2, 0x8)
     28c:	2300      	addi      	r3, 1
     28e:	6c0b      	mov      	r0, r2
     290:	b262      	st.w      	r3, (r2, 0x8)
     292:	1401      	addi      	r14, r14, 4
     294:	1484      	pop      	r4-r7
     296:	3b42      	cmpnei      	r3, 2
     298:	0bd5      	bt      	0x242	// 242 <_fpadd_parts+0x7e>
     29a:	b260      	st.w      	r3, (r2, 0x0)
     29c:	9061      	ld.w      	r3, (r0, 0x4)
     29e:	b261      	st.w      	r3, (r2, 0x4)
     2a0:	9062      	ld.w      	r3, (r0, 0x8)
     2a2:	b262      	st.w      	r3, (r2, 0x8)
     2a4:	9063      	ld.w      	r3, (r0, 0xc)
     2a6:	9121      	ld.w      	r1, (r1, 0x4)
     2a8:	b263      	st.w      	r3, (r2, 0xc)
     2aa:	9061      	ld.w      	r3, (r0, 0x4)
     2ac:	68c4      	and      	r3, r1
     2ae:	b261      	st.w      	r3, (r2, 0x4)
     2b0:	6c0b      	mov      	r0, r2
     2b2:	07c8      	br      	0x242	// 242 <_fpadd_parts+0x7e>
     2b4:	604e      	subu      	r1, r3
     2b6:	6cc7      	mov      	r3, r1
     2b8:	07ac      	br      	0x210	// 210 <_fpadd_parts+0x4c>
     2ba:	3400      	movi      	r4, 0
     2bc:	6d5f      	mov      	r5, r7
     2be:	b880      	st.w      	r4, (r14, 0x0)
     2c0:	07a0      	br      	0x200	// 200 <_fpadd_parts+0x3c>
     2c2:	3c44      	cmpnei      	r4, 4
     2c4:	0bbf      	bt      	0x242	// 242 <_fpadd_parts+0x7e>
     2c6:	9041      	ld.w      	r2, (r0, 0x4)
     2c8:	9161      	ld.w      	r3, (r1, 0x4)
     2ca:	64ca      	cmpne      	r2, r3
     2cc:	0fbb      	bf      	0x242	// 242 <_fpadd_parts+0x7e>
     2ce:	1108      	lrw      	r0, 0x4c28	// 36c <__subsf3+0x38>
     2d0:	07b9      	br      	0x242	// 242 <_fpadd_parts+0x7e>
     2d2:	3600      	movi      	r6, 0
     2d4:	6192      	subu      	r6, r4
     2d6:	0790      	br      	0x1f6	// 1f6 <_fpadd_parts+0x32>
     2d8:	3101      	movi      	r1, 1
     2da:	b221      	st.w      	r1, (r2, 0x4)
     2dc:	3100      	movi      	r1, 0
     2de:	596d      	subu      	r3, r1, r3
     2e0:	b2a2      	st.w      	r5, (r2, 0x8)
     2e2:	b263      	st.w      	r3, (r2, 0xc)
     2e4:	079c      	br      	0x21c	// 21c <_fpadd_parts+0x58>
     2e6:	3c40      	cmpnei      	r4, 0
     2e8:	0f8c      	bf      	0x200	// 200 <_fpadd_parts+0x3c>
     2ea:	3401      	movi      	r4, 1
     2ec:	98e0      	ld.w      	r7, (r14, 0x0)
     2ee:	7118      	lsl      	r4, r6
     2f0:	71d9      	lsr      	r7, r6
     2f2:	6158      	addu      	r5, r6
     2f4:	2c00      	subi      	r4, 1
     2f6:	98c0      	ld.w      	r6, (r14, 0x0)
     2f8:	6918      	and      	r4, r6
     2fa:	3c40      	cmpnei      	r4, 0
     2fc:	3400      	movi      	r4, 0
     2fe:	6111      	addc      	r4, r4
     300:	6dd0      	or      	r7, r4
     302:	b8e0      	st.w      	r7, (r14, 0x0)
     304:	077e      	br      	0x200	// 200 <_fpadd_parts+0x3c>
	...

00000308 <__addsf3>:
     308:	14d0      	push      	r15
     30a:	142e      	subi      	r14, r14, 56
     30c:	b800      	st.w      	r0, (r14, 0x0)
     30e:	b821      	st.w      	r1, (r14, 0x4)
     310:	6c3b      	mov      	r0, r14
     312:	1902      	addi      	r1, r14, 8
     314:	e000071a 	bsr      	0x1148	// 1148 <__unpack_f>
     318:	1906      	addi      	r1, r14, 24
     31a:	1801      	addi      	r0, r14, 4
     31c:	e0000716 	bsr      	0x1148	// 1148 <__unpack_f>
     320:	1a0a      	addi      	r2, r14, 40
     322:	1906      	addi      	r1, r14, 24
     324:	1802      	addi      	r0, r14, 8
     326:	e3ffff4f 	bsr      	0x1c4	// 1c4 <_fpadd_parts>
     32a:	e00006b7 	bsr      	0x1098	// 1098 <__pack_f>
     32e:	140e      	addi      	r14, r14, 56
     330:	1490      	pop      	r15
	...

00000334 <__subsf3>:
     334:	14d0      	push      	r15
     336:	142e      	subi      	r14, r14, 56
     338:	b800      	st.w      	r0, (r14, 0x0)
     33a:	b821      	st.w      	r1, (r14, 0x4)
     33c:	6c3b      	mov      	r0, r14
     33e:	1902      	addi      	r1, r14, 8
     340:	e0000704 	bsr      	0x1148	// 1148 <__unpack_f>
     344:	1906      	addi      	r1, r14, 24
     346:	1801      	addi      	r0, r14, 4
     348:	e0000700 	bsr      	0x1148	// 1148 <__unpack_f>
     34c:	9867      	ld.w      	r3, (r14, 0x1c)
     34e:	3201      	movi      	r2, 1
     350:	6cc9      	xor      	r3, r2
     352:	1906      	addi      	r1, r14, 24
     354:	1a0a      	addi      	r2, r14, 40
     356:	1802      	addi      	r0, r14, 8
     358:	b867      	st.w      	r3, (r14, 0x1c)
     35a:	e3ffff35 	bsr      	0x1c4	// 1c4 <_fpadd_parts>
     35e:	e000069d 	bsr      	0x1098	// 1098 <__pack_f>
     362:	140e      	addi      	r14, r14, 56
     364:	1490      	pop      	r15
     366:	0000      	bkpt
     368:	3fffffff 	.long	0x3fffffff
     36c:	00004c28 	.long	0x00004c28

00000370 <__mulsf3>:
     370:	14d4      	push      	r4-r7, r15
     372:	1430      	subi      	r14, r14, 64
     374:	b802      	st.w      	r0, (r14, 0x8)
     376:	b823      	st.w      	r1, (r14, 0xc)
     378:	1802      	addi      	r0, r14, 8
     37a:	1904      	addi      	r1, r14, 16
     37c:	e00006e6 	bsr      	0x1148	// 1148 <__unpack_f>
     380:	1908      	addi      	r1, r14, 32
     382:	1803      	addi      	r0, r14, 12
     384:	e00006e2 	bsr      	0x1148	// 1148 <__unpack_f>
     388:	9864      	ld.w      	r3, (r14, 0x10)
     38a:	3b01      	cmphsi      	r3, 2
     38c:	0c4b      	bf      	0x422	// 422 <__mulsf3+0xb2>
     38e:	9848      	ld.w      	r2, (r14, 0x20)
     390:	3a01      	cmphsi      	r2, 2
     392:	0c3b      	bf      	0x408	// 408 <__mulsf3+0x98>
     394:	3b44      	cmpnei      	r3, 4
     396:	0c44      	bf      	0x41e	// 41e <__mulsf3+0xae>
     398:	3a44      	cmpnei      	r2, 4
     39a:	0c35      	bf      	0x404	// 404 <__mulsf3+0x94>
     39c:	3b42      	cmpnei      	r3, 2
     39e:	0c42      	bf      	0x422	// 422 <__mulsf3+0xb2>
     3a0:	3a42      	cmpnei      	r2, 2
     3a2:	0c33      	bf      	0x408	// 408 <__mulsf3+0x98>
     3a4:	9867      	ld.w      	r3, (r14, 0x1c)
     3a6:	b860      	st.w      	r3, (r14, 0x0)
     3a8:	986b      	ld.w      	r3, (r14, 0x2c)
     3aa:	6c8f      	mov      	r2, r3
     3ac:	b861      	st.w      	r3, (r14, 0x4)
     3ae:	9800      	ld.w      	r0, (r14, 0x0)
     3b0:	3300      	movi      	r3, 0
     3b2:	3100      	movi      	r1, 0
     3b4:	e0000630 	bsr      	0x1014	// 1014 <__muldi3>
     3b8:	98c6      	ld.w      	r6, (r14, 0x18)
     3ba:	984a      	ld.w      	r2, (r14, 0x28)
     3bc:	6098      	addu      	r2, r6
     3be:	5ac6      	addi      	r6, r2, 2
     3c0:	b8ce      	st.w      	r6, (r14, 0x38)
     3c2:	98e5      	ld.w      	r7, (r14, 0x14)
     3c4:	98c9      	ld.w      	r6, (r14, 0x24)
     3c6:	659e      	cmpne      	r7, r6
     3c8:	3400      	movi      	r4, 0
     3ca:	6111      	addc      	r4, r4
     3cc:	39df      	btsti      	r1, 31
     3ce:	6cc7      	mov      	r3, r1
     3d0:	6d43      	mov      	r5, r0
     3d2:	b88d      	st.w      	r4, (r14, 0x34)
     3d4:	0c3b      	bf      	0x44a	// 44a <__mulsf3+0xda>
     3d6:	39c0      	btsti      	r1, 0
     3d8:	2202      	addi      	r2, 3
     3da:	0811      	bt      	0x3fc	// 3fc <__mulsf3+0x8c>
     3dc:	4961      	lsri      	r3, r1, 1
     3de:	b84e      	st.w      	r2, (r14, 0x38)
     3e0:	317f      	movi      	r1, 127
     3e2:	6c8f      	mov      	r2, r3
     3e4:	6884      	and      	r2, r1
     3e6:	3040      	movi      	r0, 64
     3e8:	640a      	cmpne      	r2, r0
     3ea:	0c27      	bf      	0x438	// 438 <__mulsf3+0xc8>
     3ec:	b86f      	st.w      	r3, (r14, 0x3c)
     3ee:	3303      	movi      	r3, 3
     3f0:	b86c      	st.w      	r3, (r14, 0x30)
     3f2:	180c      	addi      	r0, r14, 48
     3f4:	e0000652 	bsr      	0x1098	// 1098 <__pack_f>
     3f8:	1410      	addi      	r14, r14, 64
     3fa:	1494      	pop      	r4-r7, r15
     3fc:	4801      	lsri      	r0, r0, 1
     3fe:	38bf      	bseti      	r0, 31
     400:	6d43      	mov      	r5, r0
     402:	07ed      	br      	0x3dc	// 3dc <__mulsf3+0x6c>
     404:	3b42      	cmpnei      	r3, 2
     406:	0c20      	bf      	0x446	// 446 <__mulsf3+0xd6>
     408:	9869      	ld.w      	r3, (r14, 0x24)
     40a:	9845      	ld.w      	r2, (r14, 0x14)
     40c:	64ca      	cmpne      	r2, r3
     40e:	3300      	movi      	r3, 0
     410:	60cd      	addc      	r3, r3
     412:	1808      	addi      	r0, r14, 32
     414:	b869      	st.w      	r3, (r14, 0x24)
     416:	e0000641 	bsr      	0x1098	// 1098 <__pack_f>
     41a:	1410      	addi      	r14, r14, 64
     41c:	1494      	pop      	r4-r7, r15
     41e:	3a42      	cmpnei      	r2, 2
     420:	0c13      	bf      	0x446	// 446 <__mulsf3+0xd6>
     422:	9845      	ld.w      	r2, (r14, 0x14)
     424:	9869      	ld.w      	r3, (r14, 0x24)
     426:	64ca      	cmpne      	r2, r3
     428:	3300      	movi      	r3, 0
     42a:	60cd      	addc      	r3, r3
     42c:	1804      	addi      	r0, r14, 16
     42e:	b865      	st.w      	r3, (r14, 0x14)
     430:	e0000634 	bsr      	0x1098	// 1098 <__pack_f>
     434:	1410      	addi      	r14, r14, 64
     436:	1494      	pop      	r4-r7, r15
     438:	3bc7      	btsti      	r3, 7
     43a:	0bd9      	bt      	0x3ec	// 3ec <__mulsf3+0x7c>
     43c:	3d40      	cmpnei      	r5, 0
     43e:	0fd7      	bf      	0x3ec	// 3ec <__mulsf3+0x7c>
     440:	60c8      	addu      	r3, r2
     442:	68c5      	andn      	r3, r1
     444:	07d4      	br      	0x3ec	// 3ec <__mulsf3+0x7c>
     446:	100d      	lrw      	r0, 0x4c28	// 478 <__mulsf3+0x108>
     448:	07d6      	br      	0x3f4	// 3f4 <__mulsf3+0x84>
     44a:	108d      	lrw      	r4, 0x3fffffff	// 47c <__mulsf3+0x10c>
     44c:	6450      	cmphs      	r4, r1
     44e:	0fc9      	bf      	0x3e0	// 3e0 <__mulsf3+0x70>
     450:	2200      	addi      	r2, 1
     452:	3001      	movi      	r0, 1
     454:	6c53      	mov      	r1, r4
     456:	0405      	br      	0x460	// 460 <__mulsf3+0xf0>
     458:	64c4      	cmphs      	r1, r3
     45a:	45a1      	lsli      	r5, r5, 1
     45c:	2a00      	subi      	r2, 1
     45e:	0c0a      	bf      	0x472	// 472 <__mulsf3+0x102>
     460:	3ddf      	btsti      	r5, 31
     462:	6d0b      	mov      	r4, r2
     464:	4361      	lsli      	r3, r3, 1
     466:	0ff9      	bf      	0x458	// 458 <__mulsf3+0xe8>
     468:	6cc0      	or      	r3, r0
     46a:	64c4      	cmphs      	r1, r3
     46c:	45a1      	lsli      	r5, r5, 1
     46e:	2a00      	subi      	r2, 1
     470:	0bf8      	bt      	0x460	// 460 <__mulsf3+0xf0>
     472:	b88e      	st.w      	r4, (r14, 0x38)
     474:	07b6      	br      	0x3e0	// 3e0 <__mulsf3+0x70>
     476:	0000      	bkpt
     478:	00004c28 	.long	0x00004c28
     47c:	3fffffff 	.long	0x3fffffff

00000480 <__divsf3>:
     480:	14d1      	push      	r4, r15
     482:	142a      	subi      	r14, r14, 40
     484:	b800      	st.w      	r0, (r14, 0x0)
     486:	b821      	st.w      	r1, (r14, 0x4)
     488:	6c3b      	mov      	r0, r14
     48a:	1902      	addi      	r1, r14, 8
     48c:	e000065e 	bsr      	0x1148	// 1148 <__unpack_f>
     490:	1906      	addi      	r1, r14, 24
     492:	1801      	addi      	r0, r14, 4
     494:	e000065a 	bsr      	0x1148	// 1148 <__unpack_f>
     498:	9862      	ld.w      	r3, (r14, 0x8)
     49a:	3b01      	cmphsi      	r3, 2
     49c:	0c2c      	bf      	0x4f4	// 4f4 <__divsf3+0x74>
     49e:	9826      	ld.w      	r1, (r14, 0x18)
     4a0:	3901      	cmphsi      	r1, 2
     4a2:	0c46      	bf      	0x52e	// 52e <__divsf3+0xae>
     4a4:	9843      	ld.w      	r2, (r14, 0xc)
     4a6:	9807      	ld.w      	r0, (r14, 0x1c)
     4a8:	6c81      	xor      	r2, r0
     4aa:	3b44      	cmpnei      	r3, 4
     4ac:	b843      	st.w      	r2, (r14, 0xc)
     4ae:	0c28      	bf      	0x4fe	// 4fe <__divsf3+0x7e>
     4b0:	3b42      	cmpnei      	r3, 2
     4b2:	0c26      	bf      	0x4fe	// 4fe <__divsf3+0x7e>
     4b4:	3944      	cmpnei      	r1, 4
     4b6:	0c2c      	bf      	0x50e	// 50e <__divsf3+0x8e>
     4b8:	3942      	cmpnei      	r1, 2
     4ba:	0c36      	bf      	0x526	// 526 <__divsf3+0xa6>
     4bc:	9844      	ld.w      	r2, (r14, 0x10)
     4be:	9868      	ld.w      	r3, (r14, 0x20)
     4c0:	608e      	subu      	r2, r3
     4c2:	9809      	ld.w      	r0, (r14, 0x24)
     4c4:	9865      	ld.w      	r3, (r14, 0x14)
     4c6:	640c      	cmphs      	r3, r0
     4c8:	b844      	st.w      	r2, (r14, 0x10)
     4ca:	0c1e      	bf      	0x506	// 506 <__divsf3+0x86>
     4cc:	3180      	movi      	r1, 128
     4ce:	321f      	movi      	r2, 31
     4d0:	3400      	movi      	r4, 0
     4d2:	4137      	lsli      	r1, r1, 23
     4d4:	640c      	cmphs      	r3, r0
     4d6:	0c03      	bf      	0x4dc	// 4dc <__divsf3+0x5c>
     4d8:	6d04      	or      	r4, r1
     4da:	60c2      	subu      	r3, r0
     4dc:	2a00      	subi      	r2, 1
     4de:	3a40      	cmpnei      	r2, 0
     4e0:	4921      	lsri      	r1, r1, 1
     4e2:	4361      	lsli      	r3, r3, 1
     4e4:	0bf8      	bt      	0x4d4	// 4d4 <__divsf3+0x54>
     4e6:	327f      	movi      	r2, 127
     4e8:	6c53      	mov      	r1, r4
     4ea:	6848      	and      	r1, r2
     4ec:	3040      	movi      	r0, 64
     4ee:	6406      	cmpne      	r1, r0
     4f0:	0c14      	bf      	0x518	// 518 <__divsf3+0x98>
     4f2:	b885      	st.w      	r4, (r14, 0x14)
     4f4:	1802      	addi      	r0, r14, 8
     4f6:	e00005d1 	bsr      	0x1098	// 1098 <__pack_f>
     4fa:	140a      	addi      	r14, r14, 40
     4fc:	1491      	pop      	r4, r15
     4fe:	644e      	cmpne      	r3, r1
     500:	0bfa      	bt      	0x4f4	// 4f4 <__divsf3+0x74>
     502:	100d      	lrw      	r0, 0x4c28	// 534 <__divsf3+0xb4>
     504:	07f9      	br      	0x4f6	// 4f6 <__divsf3+0x76>
     506:	2a00      	subi      	r2, 1
     508:	4361      	lsli      	r3, r3, 1
     50a:	b844      	st.w      	r2, (r14, 0x10)
     50c:	07e0      	br      	0x4cc	// 4cc <__divsf3+0x4c>
     50e:	3300      	movi      	r3, 0
     510:	b865      	st.w      	r3, (r14, 0x14)
     512:	b864      	st.w      	r3, (r14, 0x10)
     514:	1802      	addi      	r0, r14, 8
     516:	07f0      	br      	0x4f6	// 4f6 <__divsf3+0x76>
     518:	3cc7      	btsti      	r4, 7
     51a:	0bec      	bt      	0x4f2	// 4f2 <__divsf3+0x72>
     51c:	3b40      	cmpnei      	r3, 0
     51e:	0fea      	bf      	0x4f2	// 4f2 <__divsf3+0x72>
     520:	6104      	addu      	r4, r1
     522:	6909      	andn      	r4, r2
     524:	07e7      	br      	0x4f2	// 4f2 <__divsf3+0x72>
     526:	3304      	movi      	r3, 4
     528:	b862      	st.w      	r3, (r14, 0x8)
     52a:	1802      	addi      	r0, r14, 8
     52c:	07e5      	br      	0x4f6	// 4f6 <__divsf3+0x76>
     52e:	1806      	addi      	r0, r14, 24
     530:	07e3      	br      	0x4f6	// 4f6 <__divsf3+0x76>
     532:	0000      	bkpt
     534:	00004c28 	.long	0x00004c28

00000538 <__nesf2>:
     538:	14d0      	push      	r15
     53a:	142a      	subi      	r14, r14, 40
     53c:	b800      	st.w      	r0, (r14, 0x0)
     53e:	b821      	st.w      	r1, (r14, 0x4)
     540:	6c3b      	mov      	r0, r14
     542:	1902      	addi      	r1, r14, 8
     544:	e0000602 	bsr      	0x1148	// 1148 <__unpack_f>
     548:	1906      	addi      	r1, r14, 24
     54a:	1801      	addi      	r0, r14, 4
     54c:	e00005fe 	bsr      	0x1148	// 1148 <__unpack_f>
     550:	9862      	ld.w      	r3, (r14, 0x8)
     552:	3b01      	cmphsi      	r3, 2
     554:	0c0a      	bf      	0x568	// 568 <__nesf2+0x30>
     556:	9866      	ld.w      	r3, (r14, 0x18)
     558:	3b01      	cmphsi      	r3, 2
     55a:	0c07      	bf      	0x568	// 568 <__nesf2+0x30>
     55c:	1906      	addi      	r1, r14, 24
     55e:	1802      	addi      	r0, r14, 8
     560:	e0000636 	bsr      	0x11cc	// 11cc <__fpcmp_parts_f>
     564:	140a      	addi      	r14, r14, 40
     566:	1490      	pop      	r15
     568:	3001      	movi      	r0, 1
     56a:	140a      	addi      	r14, r14, 40
     56c:	1490      	pop      	r15
	...

00000570 <__gtsf2>:
     570:	14d0      	push      	r15
     572:	142a      	subi      	r14, r14, 40
     574:	b800      	st.w      	r0, (r14, 0x0)
     576:	b821      	st.w      	r1, (r14, 0x4)
     578:	6c3b      	mov      	r0, r14
     57a:	1902      	addi      	r1, r14, 8
     57c:	e00005e6 	bsr      	0x1148	// 1148 <__unpack_f>
     580:	1906      	addi      	r1, r14, 24
     582:	1801      	addi      	r0, r14, 4
     584:	e00005e2 	bsr      	0x1148	// 1148 <__unpack_f>
     588:	9862      	ld.w      	r3, (r14, 0x8)
     58a:	3b01      	cmphsi      	r3, 2
     58c:	0c0a      	bf      	0x5a0	// 5a0 <__gtsf2+0x30>
     58e:	9866      	ld.w      	r3, (r14, 0x18)
     590:	3b01      	cmphsi      	r3, 2
     592:	0c07      	bf      	0x5a0	// 5a0 <__gtsf2+0x30>
     594:	1906      	addi      	r1, r14, 24
     596:	1802      	addi      	r0, r14, 8
     598:	e000061a 	bsr      	0x11cc	// 11cc <__fpcmp_parts_f>
     59c:	140a      	addi      	r14, r14, 40
     59e:	1490      	pop      	r15
     5a0:	3000      	movi      	r0, 0
     5a2:	2800      	subi      	r0, 1
     5a4:	140a      	addi      	r14, r14, 40
     5a6:	1490      	pop      	r15

000005a8 <__gesf2>:
     5a8:	14d0      	push      	r15
     5aa:	142a      	subi      	r14, r14, 40
     5ac:	b800      	st.w      	r0, (r14, 0x0)
     5ae:	b821      	st.w      	r1, (r14, 0x4)
     5b0:	6c3b      	mov      	r0, r14
     5b2:	1902      	addi      	r1, r14, 8
     5b4:	e00005ca 	bsr      	0x1148	// 1148 <__unpack_f>
     5b8:	1906      	addi      	r1, r14, 24
     5ba:	1801      	addi      	r0, r14, 4
     5bc:	e00005c6 	bsr      	0x1148	// 1148 <__unpack_f>
     5c0:	9862      	ld.w      	r3, (r14, 0x8)
     5c2:	3b01      	cmphsi      	r3, 2
     5c4:	0c0a      	bf      	0x5d8	// 5d8 <__gesf2+0x30>
     5c6:	9866      	ld.w      	r3, (r14, 0x18)
     5c8:	3b01      	cmphsi      	r3, 2
     5ca:	0c07      	bf      	0x5d8	// 5d8 <__gesf2+0x30>
     5cc:	1906      	addi      	r1, r14, 24
     5ce:	1802      	addi      	r0, r14, 8
     5d0:	e00005fe 	bsr      	0x11cc	// 11cc <__fpcmp_parts_f>
     5d4:	140a      	addi      	r14, r14, 40
     5d6:	1490      	pop      	r15
     5d8:	3000      	movi      	r0, 0
     5da:	2800      	subi      	r0, 1
     5dc:	140a      	addi      	r14, r14, 40
     5de:	1490      	pop      	r15

000005e0 <__ltsf2>:
     5e0:	14d0      	push      	r15
     5e2:	142a      	subi      	r14, r14, 40
     5e4:	b800      	st.w      	r0, (r14, 0x0)
     5e6:	b821      	st.w      	r1, (r14, 0x4)
     5e8:	6c3b      	mov      	r0, r14
     5ea:	1902      	addi      	r1, r14, 8
     5ec:	e00005ae 	bsr      	0x1148	// 1148 <__unpack_f>
     5f0:	1906      	addi      	r1, r14, 24
     5f2:	1801      	addi      	r0, r14, 4
     5f4:	e00005aa 	bsr      	0x1148	// 1148 <__unpack_f>
     5f8:	9862      	ld.w      	r3, (r14, 0x8)
     5fa:	3b01      	cmphsi      	r3, 2
     5fc:	0c0a      	bf      	0x610	// 610 <__ltsf2+0x30>
     5fe:	9866      	ld.w      	r3, (r14, 0x18)
     600:	3b01      	cmphsi      	r3, 2
     602:	0c07      	bf      	0x610	// 610 <__ltsf2+0x30>
     604:	1906      	addi      	r1, r14, 24
     606:	1802      	addi      	r0, r14, 8
     608:	e00005e2 	bsr      	0x11cc	// 11cc <__fpcmp_parts_f>
     60c:	140a      	addi      	r14, r14, 40
     60e:	1490      	pop      	r15
     610:	3001      	movi      	r0, 1
     612:	140a      	addi      	r14, r14, 40
     614:	1490      	pop      	r15
	...

00000618 <__lesf2>:
     618:	14d0      	push      	r15
     61a:	142a      	subi      	r14, r14, 40
     61c:	b800      	st.w      	r0, (r14, 0x0)
     61e:	b821      	st.w      	r1, (r14, 0x4)
     620:	6c3b      	mov      	r0, r14
     622:	1902      	addi      	r1, r14, 8
     624:	e0000592 	bsr      	0x1148	// 1148 <__unpack_f>
     628:	1906      	addi      	r1, r14, 24
     62a:	1801      	addi      	r0, r14, 4
     62c:	e000058e 	bsr      	0x1148	// 1148 <__unpack_f>
     630:	9862      	ld.w      	r3, (r14, 0x8)
     632:	3b01      	cmphsi      	r3, 2
     634:	0c0a      	bf      	0x648	// 648 <__lesf2+0x30>
     636:	9866      	ld.w      	r3, (r14, 0x18)
     638:	3b01      	cmphsi      	r3, 2
     63a:	0c07      	bf      	0x648	// 648 <__lesf2+0x30>
     63c:	1906      	addi      	r1, r14, 24
     63e:	1802      	addi      	r0, r14, 8
     640:	e00005c6 	bsr      	0x11cc	// 11cc <__fpcmp_parts_f>
     644:	140a      	addi      	r14, r14, 40
     646:	1490      	pop      	r15
     648:	3001      	movi      	r0, 1
     64a:	140a      	addi      	r14, r14, 40
     64c:	1490      	pop      	r15
	...

00000650 <__fixsfsi>:
     650:	14d0      	push      	r15
     652:	1425      	subi      	r14, r14, 20
     654:	b800      	st.w      	r0, (r14, 0x0)
     656:	1901      	addi      	r1, r14, 4
     658:	6c3b      	mov      	r0, r14
     65a:	e0000577 	bsr      	0x1148	// 1148 <__unpack_f>
     65e:	9861      	ld.w      	r3, (r14, 0x4)
     660:	3b02      	cmphsi      	r3, 3
     662:	0c1b      	bf      	0x698	// 698 <__fixsfsi+0x48>
     664:	3b44      	cmpnei      	r3, 4
     666:	0c06      	bf      	0x672	// 672 <__fixsfsi+0x22>
     668:	9863      	ld.w      	r3, (r14, 0xc)
     66a:	3bdf      	btsti      	r3, 31
     66c:	0816      	bt      	0x698	// 698 <__fixsfsi+0x48>
     66e:	3b3e      	cmplti      	r3, 31
     670:	0809      	bt      	0x682	// 682 <__fixsfsi+0x32>
     672:	9862      	ld.w      	r3, (r14, 0x8)
     674:	3b40      	cmpnei      	r3, 0
     676:	3000      	movi      	r0, 0
     678:	6001      	addc      	r0, r0
     67a:	106a      	lrw      	r3, 0x7fffffff	// 6a0 <__fixsfsi+0x50>
     67c:	600c      	addu      	r0, r3
     67e:	1405      	addi      	r14, r14, 20
     680:	1490      	pop      	r15
     682:	321e      	movi      	r2, 30
     684:	5a6d      	subu      	r3, r2, r3
     686:	9804      	ld.w      	r0, (r14, 0x10)
     688:	700d      	lsr      	r0, r3
     68a:	9862      	ld.w      	r3, (r14, 0x8)
     68c:	3b40      	cmpnei      	r3, 0
     68e:	0ff8      	bf      	0x67e	// 67e <__fixsfsi+0x2e>
     690:	3300      	movi      	r3, 0
     692:	5b01      	subu      	r0, r3, r0
     694:	1405      	addi      	r14, r14, 20
     696:	1490      	pop      	r15
     698:	3000      	movi      	r0, 0
     69a:	1405      	addi      	r14, r14, 20
     69c:	1490      	pop      	r15
     69e:	0000      	bkpt
     6a0:	7fffffff 	.long	0x7fffffff

000006a4 <__extendsfdf2>:
     6a4:	14d1      	push      	r4, r15
     6a6:	1426      	subi      	r14, r14, 24
     6a8:	b801      	st.w      	r0, (r14, 0x4)
     6aa:	1902      	addi      	r1, r14, 8
     6ac:	1801      	addi      	r0, r14, 4
     6ae:	e000054d 	bsr      	0x1148	// 1148 <__unpack_f>
     6b2:	9865      	ld.w      	r3, (r14, 0x14)
     6b4:	4b82      	lsri      	r4, r3, 2
     6b6:	9844      	ld.w      	r2, (r14, 0x10)
     6b8:	437e      	lsli      	r3, r3, 30
     6ba:	9823      	ld.w      	r1, (r14, 0xc)
     6bc:	9802      	ld.w      	r0, (r14, 0x8)
     6be:	b880      	st.w      	r4, (r14, 0x0)
     6c0:	e000047e 	bsr      	0xfbc	// fbc <__make_dp>
     6c4:	1406      	addi      	r14, r14, 24
     6c6:	1491      	pop      	r4, r15

000006c8 <__floatunsisf>:
     6c8:	14d2      	push      	r4-r5, r15
     6ca:	1424      	subi      	r14, r14, 16
     6cc:	3840      	cmpnei      	r0, 0
     6ce:	3300      	movi      	r3, 0
     6d0:	6d03      	mov      	r4, r0
     6d2:	b861      	st.w      	r3, (r14, 0x4)
     6d4:	0c15      	bf      	0x6fe	// 6fe <__floatunsisf+0x36>
     6d6:	3303      	movi      	r3, 3
     6d8:	351e      	movi      	r5, 30
     6da:	b860      	st.w      	r3, (r14, 0x0)
     6dc:	b8a2      	st.w      	r5, (r14, 0x8)
     6de:	e00004bd 	bsr      	0x1058	// 1058 <__clzsi2>
     6e2:	3840      	cmpnei      	r0, 0
     6e4:	5863      	subi      	r3, r0, 1
     6e6:	0c13      	bf      	0x70c	// 70c <__floatunsisf+0x44>
     6e8:	3b40      	cmpnei      	r3, 0
     6ea:	0c1d      	bf      	0x724	// 724 <__floatunsisf+0x5c>
     6ec:	710c      	lsl      	r4, r3
     6ee:	614e      	subu      	r5, r3
     6f0:	b883      	st.w      	r4, (r14, 0xc)
     6f2:	b8a2      	st.w      	r5, (r14, 0x8)
     6f4:	6c3b      	mov      	r0, r14
     6f6:	e00004d1 	bsr      	0x1098	// 1098 <__pack_f>
     6fa:	1404      	addi      	r14, r14, 16
     6fc:	1492      	pop      	r4-r5, r15
     6fe:	3302      	movi      	r3, 2
     700:	6c3b      	mov      	r0, r14
     702:	b860      	st.w      	r3, (r14, 0x0)
     704:	e00004ca 	bsr      	0x1098	// 1098 <__pack_f>
     708:	1404      	addi      	r14, r14, 16
     70a:	1492      	pop      	r4-r5, r15
     70c:	3301      	movi      	r3, 1
     70e:	68d0      	and      	r3, r4
     710:	4c81      	lsri      	r4, r4, 1
     712:	6d0c      	or      	r4, r3
     714:	6c3b      	mov      	r0, r14
     716:	331f      	movi      	r3, 31
     718:	b883      	st.w      	r4, (r14, 0xc)
     71a:	b862      	st.w      	r3, (r14, 0x8)
     71c:	e00004be 	bsr      	0x1098	// 1098 <__pack_f>
     720:	1404      	addi      	r14, r14, 16
     722:	1492      	pop      	r4-r5, r15
     724:	b883      	st.w      	r4, (r14, 0xc)
     726:	07e7      	br      	0x6f4	// 6f4 <__floatunsisf+0x2c>

00000728 <_fpadd_parts>:
     728:	14c4      	push      	r4-r7
     72a:	142a      	subi      	r14, r14, 40
     72c:	9060      	ld.w      	r3, (r0, 0x0)
     72e:	3b01      	cmphsi      	r3, 2
     730:	6dcb      	mov      	r7, r2
     732:	0c67      	bf      	0x800	// 800 <_fpadd_parts+0xd8>
     734:	9140      	ld.w      	r2, (r1, 0x0)
     736:	3a01      	cmphsi      	r2, 2
     738:	0c66      	bf      	0x804	// 804 <_fpadd_parts+0xdc>
     73a:	3b44      	cmpnei      	r3, 4
     73c:	0cde      	bf      	0x8f8	// 8f8 <_fpadd_parts+0x1d0>
     73e:	3a44      	cmpnei      	r2, 4
     740:	0c62      	bf      	0x804	// 804 <_fpadd_parts+0xdc>
     742:	3a42      	cmpnei      	r2, 2
     744:	0cb7      	bf      	0x8b2	// 8b2 <_fpadd_parts+0x18a>
     746:	3b42      	cmpnei      	r3, 2
     748:	0c5e      	bf      	0x804	// 804 <_fpadd_parts+0xdc>
     74a:	9043      	ld.w      	r2, (r0, 0xc)
     74c:	9064      	ld.w      	r3, (r0, 0x10)
     74e:	9082      	ld.w      	r4, (r0, 0x8)
     750:	91a2      	ld.w      	r5, (r1, 0x8)
     752:	b842      	st.w      	r2, (r14, 0x8)
     754:	b863      	st.w      	r3, (r14, 0xc)
     756:	9143      	ld.w      	r2, (r1, 0xc)
     758:	9164      	ld.w      	r3, (r1, 0x10)
     75a:	b840      	st.w      	r2, (r14, 0x0)
     75c:	b861      	st.w      	r3, (r14, 0x4)
     75e:	5c75      	subu      	r3, r4, r5
     760:	3bdf      	btsti      	r3, 31
     762:	6c8f      	mov      	r2, r3
     764:	08d2      	bt      	0x908	// 908 <_fpadd_parts+0x1e0>
     766:	363f      	movi      	r6, 63
     768:	6499      	cmplt      	r6, r2
     76a:	0c50      	bf      	0x80a	// 80a <_fpadd_parts+0xe2>
     76c:	6515      	cmplt      	r5, r4
     76e:	0cbf      	bf      	0x8ec	// 8ec <_fpadd_parts+0x1c4>
     770:	3200      	movi      	r2, 0
     772:	3300      	movi      	r3, 0
     774:	b840      	st.w      	r2, (r14, 0x0)
     776:	b861      	st.w      	r3, (r14, 0x4)
     778:	9061      	ld.w      	r3, (r0, 0x4)
     77a:	9141      	ld.w      	r2, (r1, 0x4)
     77c:	648e      	cmpne      	r3, r2
     77e:	0c78      	bf      	0x86e	// 86e <_fpadd_parts+0x146>
     780:	3b40      	cmpnei      	r3, 0
     782:	0cad      	bf      	0x8dc	// 8dc <_fpadd_parts+0x1b4>
     784:	9800      	ld.w      	r0, (r14, 0x0)
     786:	9821      	ld.w      	r1, (r14, 0x4)
     788:	9842      	ld.w      	r2, (r14, 0x8)
     78a:	9863      	ld.w      	r3, (r14, 0xc)
     78c:	6400      	cmphs      	r0, r0
     78e:	600b      	subc      	r0, r2
     790:	604f      	subc      	r1, r3
     792:	39df      	btsti      	r1, 31
     794:	08bd      	bt      	0x90e	// 90e <_fpadd_parts+0x1e6>
     796:	3300      	movi      	r3, 0
     798:	b761      	st.w      	r3, (r7, 0x4)
     79a:	b782      	st.w      	r4, (r7, 0x8)
     79c:	6c83      	mov      	r2, r0
     79e:	6cc7      	mov      	r3, r1
     7a0:	b703      	st.w      	r0, (r7, 0xc)
     7a2:	b724      	st.w      	r1, (r7, 0x10)
     7a4:	3000      	movi      	r0, 0
     7a6:	3100      	movi      	r1, 0
     7a8:	2800      	subi      	r0, 1
     7aa:	2900      	subi      	r1, 1
     7ac:	6401      	cmplt      	r0, r0
     7ae:	6009      	addc      	r0, r2
     7b0:	604d      	addc      	r1, r3
     7b2:	0295      	lrw      	r4, 0xfffffff	// a58 <__subdf3+0x38>
     7b4:	6450      	cmphs      	r4, r1
     7b6:	0c67      	bf      	0x884	// 884 <_fpadd_parts+0x15c>
     7b8:	6506      	cmpne      	r1, r4
     7ba:	0cfd      	bf      	0x9b4	// 9b4 <_fpadd_parts+0x28c>
     7bc:	3000      	movi      	r0, 0
     7be:	9722      	ld.w      	r1, (r7, 0x8)
     7c0:	2801      	subi      	r0, 2
     7c2:	2900      	subi      	r1, 1
     7c4:	02da      	lrw      	r6, 0xfffffff	// a58 <__subdf3+0x38>
     7c6:	b802      	st.w      	r0, (r14, 0x8)
     7c8:	b8e0      	st.w      	r7, (r14, 0x0)
     7ca:	0403      	br      	0x7d0	// 7d0 <_fpadd_parts+0xa8>
     7cc:	6596      	cmpne      	r5, r6
     7ce:	0c83      	bf      	0x8d4	// 8d4 <_fpadd_parts+0x1ac>
     7d0:	4301      	lsli      	r0, r3, 1
     7d2:	4a9f      	lsri      	r4, r2, 31
     7d4:	6d00      	or      	r4, r0
     7d6:	42a1      	lsli      	r5, r2, 1
     7d8:	6c97      	mov      	r2, r5
     7da:	6cd3      	mov      	r3, r4
     7dc:	3500      	movi      	r5, 0
     7de:	3400      	movi      	r4, 0
     7e0:	2c00      	subi      	r4, 1
     7e2:	2d00      	subi      	r5, 1
     7e4:	6511      	cmplt      	r4, r4
     7e6:	6109      	addc      	r4, r2
     7e8:	614d      	addc      	r5, r3
     7ea:	6558      	cmphs      	r6, r5
     7ec:	6c07      	mov      	r0, r1
     7ee:	2900      	subi      	r1, 1
     7f0:	0bee      	bt      	0x7cc	// 7cc <_fpadd_parts+0xa4>
     7f2:	98e0      	ld.w      	r7, (r14, 0x0)
     7f4:	b743      	st.w      	r2, (r7, 0xc)
     7f6:	b764      	st.w      	r3, (r7, 0x10)
     7f8:	3303      	movi      	r3, 3
     7fa:	b702      	st.w      	r0, (r7, 0x8)
     7fc:	b760      	st.w      	r3, (r7, 0x0)
     7fe:	6c1f      	mov      	r0, r7
     800:	140a      	addi      	r14, r14, 40
     802:	1484      	pop      	r4-r7
     804:	6c07      	mov      	r0, r1
     806:	140a      	addi      	r14, r14, 40
     808:	1484      	pop      	r4-r7
     80a:	3b20      	cmplti      	r3, 1
     80c:	088c      	bt      	0x924	// 924 <_fpadd_parts+0x1fc>
     80e:	3300      	movi      	r3, 0
     810:	2b1f      	subi      	r3, 32
     812:	60c8      	addu      	r3, r2
     814:	3bdf      	btsti      	r3, 31
     816:	b866      	st.w      	r3, (r14, 0x18)
     818:	08bb      	bt      	0x98e	// 98e <_fpadd_parts+0x266>
     81a:	98a1      	ld.w      	r5, (r14, 0x4)
     81c:	714d      	lsr      	r5, r3
     81e:	b8a4      	st.w      	r5, (r14, 0x10)
     820:	3500      	movi      	r5, 0
     822:	b8a5      	st.w      	r5, (r14, 0x14)
     824:	9866      	ld.w      	r3, (r14, 0x18)
     826:	3bdf      	btsti      	r3, 31
     828:	3500      	movi      	r5, 0
     82a:	3600      	movi      	r6, 0
     82c:	08ad      	bt      	0x986	// 986 <_fpadd_parts+0x25e>
     82e:	3201      	movi      	r2, 1
     830:	708c      	lsl      	r2, r3
     832:	6d8b      	mov      	r6, r2
     834:	3200      	movi      	r2, 0
     836:	3300      	movi      	r3, 0
     838:	2a00      	subi      	r2, 1
     83a:	2b00      	subi      	r3, 1
     83c:	6489      	cmplt      	r2, r2
     83e:	6095      	addc      	r2, r5
     840:	60d9      	addc      	r3, r6
     842:	98a0      	ld.w      	r5, (r14, 0x0)
     844:	98c1      	ld.w      	r6, (r14, 0x4)
     846:	6948      	and      	r5, r2
     848:	698c      	and      	r6, r3
     84a:	6c97      	mov      	r2, r5
     84c:	6cdb      	mov      	r3, r6
     84e:	6c8c      	or      	r2, r3
     850:	3a40      	cmpnei      	r2, 0
     852:	3500      	movi      	r5, 0
     854:	6155      	addc      	r5, r5
     856:	6c97      	mov      	r2, r5
     858:	3300      	movi      	r3, 0
     85a:	98a4      	ld.w      	r5, (r14, 0x10)
     85c:	98c5      	ld.w      	r6, (r14, 0x14)
     85e:	6d48      	or      	r5, r2
     860:	6d8c      	or      	r6, r3
     862:	9061      	ld.w      	r3, (r0, 0x4)
     864:	9141      	ld.w      	r2, (r1, 0x4)
     866:	648e      	cmpne      	r3, r2
     868:	b8a0      	st.w      	r5, (r14, 0x0)
     86a:	b8c1      	st.w      	r6, (r14, 0x4)
     86c:	0b8a      	bt      	0x780	// 780 <_fpadd_parts+0x58>
     86e:	b761      	st.w      	r3, (r7, 0x4)
     870:	9800      	ld.w      	r0, (r14, 0x0)
     872:	9821      	ld.w      	r1, (r14, 0x4)
     874:	9842      	ld.w      	r2, (r14, 0x8)
     876:	9863      	ld.w      	r3, (r14, 0xc)
     878:	6489      	cmplt      	r2, r2
     87a:	6081      	addc      	r2, r0
     87c:	60c5      	addc      	r3, r1
     87e:	b782      	st.w      	r4, (r7, 0x8)
     880:	b743      	st.w      	r2, (r7, 0xc)
     882:	b764      	st.w      	r3, (r7, 0x10)
     884:	3103      	movi      	r1, 3
     886:	b720      	st.w      	r1, (r7, 0x0)
     888:	1335      	lrw      	r1, 0x1fffffff	// a5c <__subdf3+0x3c>
     88a:	64c4      	cmphs      	r1, r3
     88c:	0810      	bt      	0x8ac	// 8ac <_fpadd_parts+0x184>
     88e:	439f      	lsli      	r4, r3, 31
     890:	4a01      	lsri      	r0, r2, 1
     892:	6c10      	or      	r0, r4
     894:	3500      	movi      	r5, 0
     896:	3401      	movi      	r4, 1
     898:	4b21      	lsri      	r1, r3, 1
     89a:	6890      	and      	r2, r4
     89c:	68d4      	and      	r3, r5
     89e:	6c80      	or      	r2, r0
     8a0:	6cc4      	or      	r3, r1
     8a2:	b743      	st.w      	r2, (r7, 0xc)
     8a4:	b764      	st.w      	r3, (r7, 0x10)
     8a6:	9762      	ld.w      	r3, (r7, 0x8)
     8a8:	2300      	addi      	r3, 1
     8aa:	b762      	st.w      	r3, (r7, 0x8)
     8ac:	6c1f      	mov      	r0, r7
     8ae:	140a      	addi      	r14, r14, 40
     8b0:	1484      	pop      	r4-r7
     8b2:	3b42      	cmpnei      	r3, 2
     8b4:	0ba6      	bt      	0x800	// 800 <_fpadd_parts+0xd8>
     8b6:	b760      	st.w      	r3, (r7, 0x0)
     8b8:	9061      	ld.w      	r3, (r0, 0x4)
     8ba:	b761      	st.w      	r3, (r7, 0x4)
     8bc:	9062      	ld.w      	r3, (r0, 0x8)
     8be:	b762      	st.w      	r3, (r7, 0x8)
     8c0:	9063      	ld.w      	r3, (r0, 0xc)
     8c2:	b763      	st.w      	r3, (r7, 0xc)
     8c4:	9064      	ld.w      	r3, (r0, 0x10)
     8c6:	9141      	ld.w      	r2, (r1, 0x4)
     8c8:	b764      	st.w      	r3, (r7, 0x10)
     8ca:	9061      	ld.w      	r3, (r0, 0x4)
     8cc:	68c8      	and      	r3, r2
     8ce:	b761      	st.w      	r3, (r7, 0x4)
     8d0:	6c1f      	mov      	r0, r7
     8d2:	0797      	br      	0x800	// 800 <_fpadd_parts+0xd8>
     8d4:	98e2      	ld.w      	r7, (r14, 0x8)
     8d6:	651c      	cmphs      	r7, r4
     8d8:	0b7c      	bt      	0x7d0	// 7d0 <_fpadd_parts+0xa8>
     8da:	078c      	br      	0x7f2	// 7f2 <_fpadd_parts+0xca>
     8dc:	9802      	ld.w      	r0, (r14, 0x8)
     8de:	9823      	ld.w      	r1, (r14, 0xc)
     8e0:	9840      	ld.w      	r2, (r14, 0x0)
     8e2:	9861      	ld.w      	r3, (r14, 0x4)
     8e4:	6400      	cmphs      	r0, r0
     8e6:	600b      	subc      	r0, r2
     8e8:	604f      	subc      	r1, r3
     8ea:	0754      	br      	0x792	// 792 <_fpadd_parts+0x6a>
     8ec:	3200      	movi      	r2, 0
     8ee:	3300      	movi      	r3, 0
     8f0:	6d17      	mov      	r4, r5
     8f2:	b842      	st.w      	r2, (r14, 0x8)
     8f4:	b863      	st.w      	r3, (r14, 0xc)
     8f6:	0741      	br      	0x778	// 778 <_fpadd_parts+0x50>
     8f8:	3a44      	cmpnei      	r2, 4
     8fa:	0b83      	bt      	0x800	// 800 <_fpadd_parts+0xd8>
     8fc:	9041      	ld.w      	r2, (r0, 0x4)
     8fe:	9161      	ld.w      	r3, (r1, 0x4)
     900:	64ca      	cmpne      	r2, r3
     902:	0f7f      	bf      	0x800	// 800 <_fpadd_parts+0xd8>
     904:	1217      	lrw      	r0, 0x4c38	// a60 <__subdf3+0x40>
     906:	077d      	br      	0x800	// 800 <_fpadd_parts+0xd8>
     908:	3200      	movi      	r2, 0
     90a:	608e      	subu      	r2, r3
     90c:	072d      	br      	0x766	// 766 <_fpadd_parts+0x3e>
     90e:	3301      	movi      	r3, 1
     910:	b761      	st.w      	r3, (r7, 0x4)
     912:	3200      	movi      	r2, 0
     914:	3300      	movi      	r3, 0
     916:	6488      	cmphs      	r2, r2
     918:	6083      	subc      	r2, r0
     91a:	60c7      	subc      	r3, r1
     91c:	b782      	st.w      	r4, (r7, 0x8)
     91e:	b743      	st.w      	r2, (r7, 0xc)
     920:	b764      	st.w      	r3, (r7, 0x10)
     922:	0741      	br      	0x7a4	// 7a4 <_fpadd_parts+0x7c>
     924:	3b40      	cmpnei      	r3, 0
     926:	0f29      	bf      	0x778	// 778 <_fpadd_parts+0x50>
     928:	3300      	movi      	r3, 0
     92a:	2b1f      	subi      	r3, 32
     92c:	60c8      	addu      	r3, r2
     92e:	3bdf      	btsti      	r3, 31
     930:	6108      	addu      	r4, r2
     932:	b866      	st.w      	r3, (r14, 0x18)
     934:	0849      	bt      	0x9c6	// 9c6 <_fpadd_parts+0x29e>
     936:	9863      	ld.w      	r3, (r14, 0xc)
     938:	98a6      	ld.w      	r5, (r14, 0x18)
     93a:	70d5      	lsr      	r3, r5
     93c:	b864      	st.w      	r3, (r14, 0x10)
     93e:	3300      	movi      	r3, 0
     940:	b865      	st.w      	r3, (r14, 0x14)
     942:	9866      	ld.w      	r3, (r14, 0x18)
     944:	3bdf      	btsti      	r3, 31
     946:	3500      	movi      	r5, 0
     948:	3600      	movi      	r6, 0
     94a:	083a      	bt      	0x9be	// 9be <_fpadd_parts+0x296>
     94c:	3201      	movi      	r2, 1
     94e:	708c      	lsl      	r2, r3
     950:	6d8b      	mov      	r6, r2
     952:	3200      	movi      	r2, 0
     954:	3300      	movi      	r3, 0
     956:	2a00      	subi      	r2, 1
     958:	2b00      	subi      	r3, 1
     95a:	6489      	cmplt      	r2, r2
     95c:	6095      	addc      	r2, r5
     95e:	60d9      	addc      	r3, r6
     960:	98a2      	ld.w      	r5, (r14, 0x8)
     962:	98c3      	ld.w      	r6, (r14, 0xc)
     964:	6948      	and      	r5, r2
     966:	698c      	and      	r6, r3
     968:	6c97      	mov      	r2, r5
     96a:	6cdb      	mov      	r3, r6
     96c:	6c8c      	or      	r2, r3
     96e:	3a40      	cmpnei      	r2, 0
     970:	3500      	movi      	r5, 0
     972:	6155      	addc      	r5, r5
     974:	6c97      	mov      	r2, r5
     976:	3300      	movi      	r3, 0
     978:	98a4      	ld.w      	r5, (r14, 0x10)
     97a:	98c5      	ld.w      	r6, (r14, 0x14)
     97c:	6d48      	or      	r5, r2
     97e:	6d8c      	or      	r6, r3
     980:	b8a2      	st.w      	r5, (r14, 0x8)
     982:	b8c3      	st.w      	r6, (r14, 0xc)
     984:	06fa      	br      	0x778	// 778 <_fpadd_parts+0x50>
     986:	3301      	movi      	r3, 1
     988:	70c8      	lsl      	r3, r2
     98a:	6d4f      	mov      	r5, r3
     98c:	0754      	br      	0x834	// 834 <_fpadd_parts+0x10c>
     98e:	9861      	ld.w      	r3, (r14, 0x4)
     990:	361f      	movi      	r6, 31
     992:	43a1      	lsli      	r5, r3, 1
     994:	618a      	subu      	r6, r2
     996:	7158      	lsl      	r5, r6
     998:	b8a9      	st.w      	r5, (r14, 0x24)
     99a:	98a0      	ld.w      	r5, (r14, 0x0)
     99c:	98c1      	ld.w      	r6, (r14, 0x4)
     99e:	b8a7      	st.w      	r5, (r14, 0x1c)
     9a0:	b8c8      	st.w      	r6, (r14, 0x20)
     9a2:	9867      	ld.w      	r3, (r14, 0x1c)
     9a4:	70c9      	lsr      	r3, r2
     9a6:	98a9      	ld.w      	r5, (r14, 0x24)
     9a8:	6cd4      	or      	r3, r5
     9aa:	b864      	st.w      	r3, (r14, 0x10)
     9ac:	9868      	ld.w      	r3, (r14, 0x20)
     9ae:	70c9      	lsr      	r3, r2
     9b0:	b865      	st.w      	r3, (r14, 0x14)
     9b2:	0739      	br      	0x824	// 824 <_fpadd_parts+0xfc>
     9b4:	3100      	movi      	r1, 0
     9b6:	2901      	subi      	r1, 2
     9b8:	6404      	cmphs      	r1, r0
     9ba:	0b01      	bt      	0x7bc	// 7bc <_fpadd_parts+0x94>
     9bc:	0764      	br      	0x884	// 884 <_fpadd_parts+0x15c>
     9be:	3301      	movi      	r3, 1
     9c0:	70c8      	lsl      	r3, r2
     9c2:	6d4f      	mov      	r5, r3
     9c4:	07c7      	br      	0x952	// 952 <_fpadd_parts+0x22a>
     9c6:	9863      	ld.w      	r3, (r14, 0xc)
     9c8:	43c1      	lsli      	r6, r3, 1
     9ca:	351f      	movi      	r5, 31
     9cc:	5d69      	subu      	r3, r5, r2
     9ce:	6d5b      	mov      	r5, r6
     9d0:	714c      	lsl      	r5, r3
     9d2:	b8a9      	st.w      	r5, (r14, 0x24)
     9d4:	98a2      	ld.w      	r5, (r14, 0x8)
     9d6:	98c3      	ld.w      	r6, (r14, 0xc)
     9d8:	b8a7      	st.w      	r5, (r14, 0x1c)
     9da:	b8c8      	st.w      	r6, (r14, 0x20)
     9dc:	9867      	ld.w      	r3, (r14, 0x1c)
     9de:	70c9      	lsr      	r3, r2
     9e0:	98a9      	ld.w      	r5, (r14, 0x24)
     9e2:	6cd4      	or      	r3, r5
     9e4:	b864      	st.w      	r3, (r14, 0x10)
     9e6:	9868      	ld.w      	r3, (r14, 0x20)
     9e8:	70c9      	lsr      	r3, r2
     9ea:	b865      	st.w      	r3, (r14, 0x14)
     9ec:	07ab      	br      	0x942	// 942 <_fpadd_parts+0x21a>
	...

000009f0 <__adddf3>:
     9f0:	14d0      	push      	r15
     9f2:	1433      	subi      	r14, r14, 76
     9f4:	b800      	st.w      	r0, (r14, 0x0)
     9f6:	b821      	st.w      	r1, (r14, 0x4)
     9f8:	6c3b      	mov      	r0, r14
     9fa:	1904      	addi      	r1, r14, 16
     9fc:	b863      	st.w      	r3, (r14, 0xc)
     9fe:	b842      	st.w      	r2, (r14, 0x8)
     a00:	e00004fc 	bsr      	0x13f8	// 13f8 <__unpack_d>
     a04:	1909      	addi      	r1, r14, 36
     a06:	1802      	addi      	r0, r14, 8
     a08:	e00004f8 	bsr      	0x13f8	// 13f8 <__unpack_d>
     a0c:	1a0e      	addi      	r2, r14, 56
     a0e:	1909      	addi      	r1, r14, 36
     a10:	1804      	addi      	r0, r14, 16
     a12:	e3fffe8b 	bsr      	0x728	// 728 <_fpadd_parts>
     a16:	e0000423 	bsr      	0x125c	// 125c <__pack_d>
     a1a:	1413      	addi      	r14, r14, 76
     a1c:	1490      	pop      	r15
	...

00000a20 <__subdf3>:
     a20:	14d0      	push      	r15
     a22:	1433      	subi      	r14, r14, 76
     a24:	b800      	st.w      	r0, (r14, 0x0)
     a26:	b821      	st.w      	r1, (r14, 0x4)
     a28:	6c3b      	mov      	r0, r14
     a2a:	1904      	addi      	r1, r14, 16
     a2c:	b842      	st.w      	r2, (r14, 0x8)
     a2e:	b863      	st.w      	r3, (r14, 0xc)
     a30:	e00004e4 	bsr      	0x13f8	// 13f8 <__unpack_d>
     a34:	1909      	addi      	r1, r14, 36
     a36:	1802      	addi      	r0, r14, 8
     a38:	e00004e0 	bsr      	0x13f8	// 13f8 <__unpack_d>
     a3c:	986a      	ld.w      	r3, (r14, 0x28)
     a3e:	3201      	movi      	r2, 1
     a40:	6cc9      	xor      	r3, r2
     a42:	1909      	addi      	r1, r14, 36
     a44:	1a0e      	addi      	r2, r14, 56
     a46:	1804      	addi      	r0, r14, 16
     a48:	b86a      	st.w      	r3, (r14, 0x28)
     a4a:	e3fffe6f 	bsr      	0x728	// 728 <_fpadd_parts>
     a4e:	e0000407 	bsr      	0x125c	// 125c <__pack_d>
     a52:	1413      	addi      	r14, r14, 76
     a54:	1490      	pop      	r15
     a56:	0000      	bkpt
     a58:	0fffffff 	.long	0x0fffffff
     a5c:	1fffffff 	.long	0x1fffffff
     a60:	00004c38 	.long	0x00004c38

00000a64 <__muldf3>:
     a64:	14d4      	push      	r4-r7, r15
     a66:	143b      	subi      	r14, r14, 108
     a68:	b808      	st.w      	r0, (r14, 0x20)
     a6a:	b829      	st.w      	r1, (r14, 0x24)
     a6c:	1808      	addi      	r0, r14, 32
     a6e:	190c      	addi      	r1, r14, 48
     a70:	b86b      	st.w      	r3, (r14, 0x2c)
     a72:	b84a      	st.w      	r2, (r14, 0x28)
     a74:	e00004c2 	bsr      	0x13f8	// 13f8 <__unpack_d>
     a78:	1911      	addi      	r1, r14, 68
     a7a:	180a      	addi      	r0, r14, 40
     a7c:	e00004be 	bsr      	0x13f8	// 13f8 <__unpack_d>
     a80:	986c      	ld.w      	r3, (r14, 0x30)
     a82:	3b01      	cmphsi      	r3, 2
     a84:	0cac      	bf      	0xbdc	// bdc <__muldf3+0x178>
     a86:	9851      	ld.w      	r2, (r14, 0x44)
     a88:	3a01      	cmphsi      	r2, 2
     a8a:	0c9c      	bf      	0xbc2	// bc2 <__muldf3+0x15e>
     a8c:	3b44      	cmpnei      	r3, 4
     a8e:	0ca5      	bf      	0xbd8	// bd8 <__muldf3+0x174>
     a90:	3a44      	cmpnei      	r2, 4
     a92:	0c96      	bf      	0xbbe	// bbe <__muldf3+0x15a>
     a94:	3b42      	cmpnei      	r3, 2
     a96:	0ca3      	bf      	0xbdc	// bdc <__muldf3+0x178>
     a98:	3a42      	cmpnei      	r2, 2
     a9a:	0c94      	bf      	0xbc2	// bc2 <__muldf3+0x15e>
     a9c:	98ef      	ld.w      	r7, (r14, 0x3c)
     a9e:	98b4      	ld.w      	r5, (r14, 0x50)
     aa0:	9875      	ld.w      	r3, (r14, 0x54)
     aa2:	6d8f      	mov      	r6, r3
     aa4:	6c9f      	mov      	r2, r7
     aa6:	3300      	movi      	r3, 0
     aa8:	6c17      	mov      	r0, r5
     aaa:	3100      	movi      	r1, 0
     aac:	e00002b4 	bsr      	0x1014	// 1014 <__muldi3>
     ab0:	b804      	st.w      	r0, (r14, 0x10)
     ab2:	b825      	st.w      	r1, (r14, 0x14)
     ab4:	6c9f      	mov      	r2, r7
     ab6:	3300      	movi      	r3, 0
     ab8:	6c1b      	mov      	r0, r6
     aba:	3100      	movi      	r1, 0
     abc:	9890      	ld.w      	r4, (r14, 0x40)
     abe:	b8c2      	st.w      	r6, (r14, 0x8)
     ac0:	e00002aa 	bsr      	0x1014	// 1014 <__muldi3>
     ac4:	6d83      	mov      	r6, r0
     ac6:	6dc7      	mov      	r7, r1
     ac8:	9842      	ld.w      	r2, (r14, 0x8)
     aca:	3300      	movi      	r3, 0
     acc:	6c13      	mov      	r0, r4
     ace:	3100      	movi      	r1, 0
     ad0:	e00002a2 	bsr      	0x1014	// 1014 <__muldi3>
     ad4:	b806      	st.w      	r0, (r14, 0x18)
     ad6:	b827      	st.w      	r1, (r14, 0x1c)
     ad8:	6c97      	mov      	r2, r5
     ada:	3300      	movi      	r3, 0
     adc:	6c13      	mov      	r0, r4
     ade:	3100      	movi      	r1, 0
     ae0:	e000029a 	bsr      	0x1014	// 1014 <__muldi3>
     ae4:	6401      	cmplt      	r0, r0
     ae6:	6019      	addc      	r0, r6
     ae8:	605d      	addc      	r1, r7
     aea:	65c4      	cmphs      	r1, r7
     aec:	0c91      	bf      	0xc0e	// c0e <__muldf3+0x1aa>
     aee:	645e      	cmpne      	r7, r1
     af0:	0c8d      	bf      	0xc0a	// c0a <__muldf3+0x1a6>
     af2:	3300      	movi      	r3, 0
     af4:	3400      	movi      	r4, 0
     af6:	b862      	st.w      	r3, (r14, 0x8)
     af8:	b883      	st.w      	r4, (r14, 0xc)
     afa:	9884      	ld.w      	r4, (r14, 0x10)
     afc:	98a5      	ld.w      	r5, (r14, 0x14)
     afe:	3600      	movi      	r6, 0
     b00:	6dc3      	mov      	r7, r0
     b02:	6c93      	mov      	r2, r4
     b04:	6cd7      	mov      	r3, r5
     b06:	6489      	cmplt      	r2, r2
     b08:	6099      	addc      	r2, r6
     b0a:	60dd      	addc      	r3, r7
     b0c:	6d8b      	mov      	r6, r2
     b0e:	6dcf      	mov      	r7, r3
     b10:	6c93      	mov      	r2, r4
     b12:	6cd7      	mov      	r3, r5
     b14:	64dc      	cmphs      	r7, r3
     b16:	0c70      	bf      	0xbf6	// bf6 <__muldf3+0x192>
     b18:	65ce      	cmpne      	r3, r7
     b1a:	0c6c      	bf      	0xbf2	// bf2 <__muldf3+0x18e>
     b1c:	6c87      	mov      	r2, r1
     b1e:	3300      	movi      	r3, 0
     b20:	9806      	ld.w      	r0, (r14, 0x18)
     b22:	9827      	ld.w      	r1, (r14, 0x1c)
     b24:	6401      	cmplt      	r0, r0
     b26:	6009      	addc      	r0, r2
     b28:	604d      	addc      	r1, r3
     b2a:	6c83      	mov      	r2, r0
     b2c:	6cc7      	mov      	r3, r1
     b2e:	9802      	ld.w      	r0, (r14, 0x8)
     b30:	9823      	ld.w      	r1, (r14, 0xc)
     b32:	6401      	cmplt      	r0, r0
     b34:	6009      	addc      	r0, r2
     b36:	604d      	addc      	r1, r3
     b38:	6c83      	mov      	r2, r0
     b3a:	6cc7      	mov      	r3, r1
     b3c:	988e      	ld.w      	r4, (r14, 0x38)
     b3e:	9833      	ld.w      	r1, (r14, 0x4c)
     b40:	6104      	addu      	r4, r1
     b42:	5c2e      	addi      	r1, r4, 4
     b44:	b838      	st.w      	r1, (r14, 0x60)
     b46:	980d      	ld.w      	r0, (r14, 0x34)
     b48:	9832      	ld.w      	r1, (r14, 0x48)
     b4a:	6442      	cmpne      	r0, r1
     b4c:	12b0      	lrw      	r5, 0x1fffffff	// c8c <__muldf3+0x228>
     b4e:	3100      	movi      	r1, 0
     b50:	6045      	addc      	r1, r1
     b52:	64d4      	cmphs      	r5, r3
     b54:	b837      	st.w      	r1, (r14, 0x5c)
     b56:	0879      	bt      	0xc48	// c48 <__muldf3+0x1e4>
     b58:	2404      	addi      	r4, 5
     b5a:	b8a4      	st.w      	r5, (r14, 0x10)
     b5c:	3001      	movi      	r0, 1
     b5e:	3100      	movi      	r1, 0
     b60:	6808      	and      	r0, r2
     b62:	684c      	and      	r1, r3
     b64:	6c04      	or      	r0, r1
     b66:	3840      	cmpnei      	r0, 0
     b68:	b882      	st.w      	r4, (r14, 0x8)
     b6a:	0c0e      	bf      	0xb86	// b86 <__muldf3+0x122>
     b6c:	473f      	lsli      	r1, r7, 31
     b6e:	4e01      	lsri      	r0, r6, 1
     b70:	6c04      	or      	r0, r1
     b72:	4f21      	lsri      	r1, r7, 1
     b74:	b800      	st.w      	r0, (r14, 0x0)
     b76:	b821      	st.w      	r1, (r14, 0x4)
     b78:	3180      	movi      	r1, 128
     b7a:	98c0      	ld.w      	r6, (r14, 0x0)
     b7c:	98e1      	ld.w      	r7, (r14, 0x4)
     b7e:	3000      	movi      	r0, 0
     b80:	4138      	lsli      	r1, r1, 24
     b82:	6d80      	or      	r6, r0
     b84:	6dc4      	or      	r7, r1
     b86:	4b21      	lsri      	r1, r3, 1
     b88:	43bf      	lsli      	r5, r3, 31
     b8a:	4a01      	lsri      	r0, r2, 1
     b8c:	6cc7      	mov      	r3, r1
     b8e:	9824      	ld.w      	r1, (r14, 0x10)
     b90:	6d40      	or      	r5, r0
     b92:	64c4      	cmphs      	r1, r3
     b94:	6c97      	mov      	r2, r5
     b96:	2400      	addi      	r4, 1
     b98:	0fe2      	bf      	0xb5c	// b5c <__muldf3+0xf8>
     b9a:	9822      	ld.w      	r1, (r14, 0x8)
     b9c:	b838      	st.w      	r1, (r14, 0x60)
     b9e:	30ff      	movi      	r0, 255
     ba0:	3100      	movi      	r1, 0
     ba2:	6808      	and      	r0, r2
     ba4:	684c      	and      	r1, r3
     ba6:	3480      	movi      	r4, 128
     ba8:	6502      	cmpne      	r0, r4
     baa:	0c37      	bf      	0xc18	// c18 <__muldf3+0x1b4>
     bac:	b859      	st.w      	r2, (r14, 0x64)
     bae:	b87a      	st.w      	r3, (r14, 0x68)
     bb0:	3303      	movi      	r3, 3
     bb2:	b876      	st.w      	r3, (r14, 0x58)
     bb4:	1816      	addi      	r0, r14, 88
     bb6:	e0000353 	bsr      	0x125c	// 125c <__pack_d>
     bba:	141b      	addi      	r14, r14, 108
     bbc:	1494      	pop      	r4-r7, r15
     bbe:	3b42      	cmpnei      	r3, 2
     bc0:	0c42      	bf      	0xc44	// c44 <__muldf3+0x1e0>
     bc2:	9872      	ld.w      	r3, (r14, 0x48)
     bc4:	984d      	ld.w      	r2, (r14, 0x34)
     bc6:	64ca      	cmpne      	r2, r3
     bc8:	3300      	movi      	r3, 0
     bca:	60cd      	addc      	r3, r3
     bcc:	1811      	addi      	r0, r14, 68
     bce:	b872      	st.w      	r3, (r14, 0x48)
     bd0:	e0000346 	bsr      	0x125c	// 125c <__pack_d>
     bd4:	141b      	addi      	r14, r14, 108
     bd6:	1494      	pop      	r4-r7, r15
     bd8:	3a42      	cmpnei      	r2, 2
     bda:	0c35      	bf      	0xc44	// c44 <__muldf3+0x1e0>
     bdc:	984d      	ld.w      	r2, (r14, 0x34)
     bde:	9872      	ld.w      	r3, (r14, 0x48)
     be0:	64ca      	cmpne      	r2, r3
     be2:	3300      	movi      	r3, 0
     be4:	60cd      	addc      	r3, r3
     be6:	180c      	addi      	r0, r14, 48
     be8:	b86d      	st.w      	r3, (r14, 0x34)
     bea:	e0000339 	bsr      	0x125c	// 125c <__pack_d>
     bee:	141b      	addi      	r14, r14, 108
     bf0:	1494      	pop      	r4-r7, r15
     bf2:	6498      	cmphs      	r6, r2
     bf4:	0b94      	bt      	0xb1c	// b1c <__muldf3+0xb8>
     bf6:	9882      	ld.w      	r4, (r14, 0x8)
     bf8:	98a3      	ld.w      	r5, (r14, 0xc)
     bfa:	3201      	movi      	r2, 1
     bfc:	3300      	movi      	r3, 0
     bfe:	6511      	cmplt      	r4, r4
     c00:	6109      	addc      	r4, r2
     c02:	614d      	addc      	r5, r3
     c04:	b882      	st.w      	r4, (r14, 0x8)
     c06:	b8a3      	st.w      	r5, (r14, 0xc)
     c08:	078a      	br      	0xb1c	// b1c <__muldf3+0xb8>
     c0a:	6580      	cmphs      	r0, r6
     c0c:	0b73      	bt      	0xaf2	// af2 <__muldf3+0x8e>
     c0e:	3300      	movi      	r3, 0
     c10:	3401      	movi      	r4, 1
     c12:	b862      	st.w      	r3, (r14, 0x8)
     c14:	b883      	st.w      	r4, (r14, 0xc)
     c16:	0772      	br      	0xafa	// afa <__muldf3+0x96>
     c18:	3940      	cmpnei      	r1, 0
     c1a:	0bc9      	bt      	0xbac	// bac <__muldf3+0x148>
     c1c:	3180      	movi      	r1, 128
     c1e:	4121      	lsli      	r1, r1, 1
     c20:	6848      	and      	r1, r2
     c22:	3940      	cmpnei      	r1, 0
     c24:	0bc4      	bt      	0xbac	// bac <__muldf3+0x148>
     c26:	6c5b      	mov      	r1, r6
     c28:	6c5c      	or      	r1, r7
     c2a:	3940      	cmpnei      	r1, 0
     c2c:	0fc0      	bf      	0xbac	// bac <__muldf3+0x148>
     c2e:	3080      	movi      	r0, 128
     c30:	3100      	movi      	r1, 0
     c32:	6401      	cmplt      	r0, r0
     c34:	6009      	addc      	r0, r2
     c36:	604d      	addc      	r1, r3
     c38:	34ff      	movi      	r4, 255
     c3a:	6d43      	mov      	r5, r0
     c3c:	6951      	andn      	r5, r4
     c3e:	6c97      	mov      	r2, r5
     c40:	6cc7      	mov      	r3, r1
     c42:	07b5      	br      	0xbac	// bac <__muldf3+0x148>
     c44:	1013      	lrw      	r0, 0x4c38	// c90 <__muldf3+0x22c>
     c46:	07b8      	br      	0xbb6	// bb6 <__muldf3+0x152>
     c48:	1033      	lrw      	r1, 0xfffffff	// c94 <__muldf3+0x230>
     c4a:	64c4      	cmphs      	r1, r3
     c4c:	0fa9      	bf      	0xb9e	// b9e <__muldf3+0x13a>
     c4e:	2402      	addi      	r4, 3
     c50:	b822      	st.w      	r1, (r14, 0x8)
     c52:	4a1f      	lsri      	r0, r2, 31
     c54:	4321      	lsli      	r1, r3, 1
     c56:	42a1      	lsli      	r5, r2, 1
     c58:	6c04      	or      	r0, r1
     c5a:	3fdf      	btsti      	r7, 31
     c5c:	b880      	st.w      	r4, (r14, 0x0)
     c5e:	6c97      	mov      	r2, r5
     c60:	6cc3      	mov      	r3, r0
     c62:	0c07      	bf      	0xc70	// c70 <__muldf3+0x20c>
     c64:	3001      	movi      	r0, 1
     c66:	3100      	movi      	r1, 0
     c68:	6c08      	or      	r0, r2
     c6a:	6c4c      	or      	r1, r3
     c6c:	6c83      	mov      	r2, r0
     c6e:	6cc7      	mov      	r3, r1
     c70:	4721      	lsli      	r1, r7, 1
     c72:	4e1f      	lsri      	r0, r6, 31
     c74:	6c04      	or      	r0, r1
     c76:	9822      	ld.w      	r1, (r14, 0x8)
     c78:	46a1      	lsli      	r5, r6, 1
     c7a:	64c4      	cmphs      	r1, r3
     c7c:	6d97      	mov      	r6, r5
     c7e:	6dc3      	mov      	r7, r0
     c80:	2c00      	subi      	r4, 1
     c82:	0be8      	bt      	0xc52	// c52 <__muldf3+0x1ee>
     c84:	9820      	ld.w      	r1, (r14, 0x0)
     c86:	b838      	st.w      	r1, (r14, 0x60)
     c88:	078b      	br      	0xb9e	// b9e <__muldf3+0x13a>
     c8a:	0000      	bkpt
     c8c:	1fffffff 	.long	0x1fffffff
     c90:	00004c38 	.long	0x00004c38
     c94:	0fffffff 	.long	0x0fffffff

00000c98 <__divdf3>:
     c98:	14d4      	push      	r4-r7, r15
     c9a:	1432      	subi      	r14, r14, 72
     c9c:	b804      	st.w      	r0, (r14, 0x10)
     c9e:	b825      	st.w      	r1, (r14, 0x14)
     ca0:	1804      	addi      	r0, r14, 16
     ca2:	1908      	addi      	r1, r14, 32
     ca4:	b867      	st.w      	r3, (r14, 0x1c)
     ca6:	b846      	st.w      	r2, (r14, 0x18)
     ca8:	e00003a8 	bsr      	0x13f8	// 13f8 <__unpack_d>
     cac:	190d      	addi      	r1, r14, 52
     cae:	1806      	addi      	r0, r14, 24
     cb0:	e00003a4 	bsr      	0x13f8	// 13f8 <__unpack_d>
     cb4:	9868      	ld.w      	r3, (r14, 0x20)
     cb6:	3b01      	cmphsi      	r3, 2
     cb8:	0c66      	bf      	0xd84	// d84 <__divdf3+0xec>
     cba:	982d      	ld.w      	r1, (r14, 0x34)
     cbc:	3901      	cmphsi      	r1, 2
     cbe:	0c92      	bf      	0xde2	// de2 <__divdf3+0x14a>
     cc0:	9849      	ld.w      	r2, (r14, 0x24)
     cc2:	980e      	ld.w      	r0, (r14, 0x38)
     cc4:	6c81      	xor      	r2, r0
     cc6:	3b44      	cmpnei      	r3, 4
     cc8:	b849      	st.w      	r2, (r14, 0x24)
     cca:	0c62      	bf      	0xd8e	// d8e <__divdf3+0xf6>
     ccc:	3b42      	cmpnei      	r3, 2
     cce:	0c60      	bf      	0xd8e	// d8e <__divdf3+0xf6>
     cd0:	3944      	cmpnei      	r1, 4
     cd2:	0c62      	bf      	0xd96	// d96 <__divdf3+0xfe>
     cd4:	3942      	cmpnei      	r1, 2
     cd6:	0c82      	bf      	0xdda	// dda <__divdf3+0x142>
     cd8:	982a      	ld.w      	r1, (r14, 0x28)
     cda:	986f      	ld.w      	r3, (r14, 0x3c)
     cdc:	604e      	subu      	r1, r3
     cde:	9890      	ld.w      	r4, (r14, 0x40)
     ce0:	98b1      	ld.w      	r5, (r14, 0x44)
     ce2:	984b      	ld.w      	r2, (r14, 0x2c)
     ce4:	986c      	ld.w      	r3, (r14, 0x30)
     ce6:	654c      	cmphs      	r3, r5
     ce8:	b82a      	st.w      	r1, (r14, 0x28)
     cea:	6d93      	mov      	r6, r4
     cec:	6dd7      	mov      	r7, r5
     cee:	0c05      	bf      	0xcf8	// cf8 <__divdf3+0x60>
     cf0:	64d6      	cmpne      	r5, r3
     cf2:	080b      	bt      	0xd08	// d08 <__divdf3+0x70>
     cf4:	6508      	cmphs      	r2, r4
     cf6:	0809      	bt      	0xd08	// d08 <__divdf3+0x70>
     cf8:	4a9f      	lsri      	r4, r2, 31
     cfa:	4301      	lsli      	r0, r3, 1
     cfc:	42a1      	lsli      	r5, r2, 1
     cfe:	6d00      	or      	r4, r0
     d00:	2900      	subi      	r1, 1
     d02:	6c97      	mov      	r2, r5
     d04:	6cd3      	mov      	r3, r4
     d06:	b82a      	st.w      	r1, (r14, 0x28)
     d08:	3000      	movi      	r0, 0
     d0a:	3100      	movi      	r1, 0
     d0c:	b802      	st.w      	r0, (r14, 0x8)
     d0e:	b823      	st.w      	r1, (r14, 0xc)
     d10:	3180      	movi      	r1, 128
     d12:	343d      	movi      	r4, 61
     d14:	3000      	movi      	r0, 0
     d16:	4135      	lsli      	r1, r1, 21
     d18:	b8c0      	st.w      	r6, (r14, 0x0)
     d1a:	b8e1      	st.w      	r7, (r14, 0x4)
     d1c:	98a0      	ld.w      	r5, (r14, 0x0)
     d1e:	98c1      	ld.w      	r6, (r14, 0x4)
     d20:	658c      	cmphs      	r3, r6
     d22:	0c10      	bf      	0xd42	// d42 <__divdf3+0xaa>
     d24:	64da      	cmpne      	r6, r3
     d26:	0803      	bt      	0xd2c	// d2c <__divdf3+0x94>
     d28:	6548      	cmphs      	r2, r5
     d2a:	0c0c      	bf      	0xd42	// d42 <__divdf3+0xaa>
     d2c:	98a2      	ld.w      	r5, (r14, 0x8)
     d2e:	98c3      	ld.w      	r6, (r14, 0xc)
     d30:	6d40      	or      	r5, r0
     d32:	6d84      	or      	r6, r1
     d34:	b8a2      	st.w      	r5, (r14, 0x8)
     d36:	b8c3      	st.w      	r6, (r14, 0xc)
     d38:	98a0      	ld.w      	r5, (r14, 0x0)
     d3a:	98c1      	ld.w      	r6, (r14, 0x4)
     d3c:	6488      	cmphs      	r2, r2
     d3e:	6097      	subc      	r2, r5
     d40:	60db      	subc      	r3, r6
     d42:	41bf      	lsli      	r5, r1, 31
     d44:	48e1      	lsri      	r7, r0, 1
     d46:	6d97      	mov      	r6, r5
     d48:	49a1      	lsri      	r5, r1, 1
     d4a:	6d9c      	or      	r6, r7
     d4c:	6c57      	mov      	r1, r5
     d4e:	4abf      	lsri      	r5, r2, 31
     d50:	6c1b      	mov      	r0, r6
     d52:	2c00      	subi      	r4, 1
     d54:	6d97      	mov      	r6, r5
     d56:	43a1      	lsli      	r5, r3, 1
     d58:	6d94      	or      	r6, r5
     d5a:	4261      	lsli      	r3, r2, 1
     d5c:	3c40      	cmpnei      	r4, 0
     d5e:	6dcf      	mov      	r7, r3
     d60:	6c8f      	mov      	r2, r3
     d62:	6cdb      	mov      	r3, r6
     d64:	0bdc      	bt      	0xd1c	// d1c <__divdf3+0x84>
     d66:	30ff      	movi      	r0, 255
     d68:	3100      	movi      	r1, 0
     d6a:	9882      	ld.w      	r4, (r14, 0x8)
     d6c:	98a3      	ld.w      	r5, (r14, 0xc)
     d6e:	6900      	and      	r4, r0
     d70:	6944      	and      	r5, r1
     d72:	6c13      	mov      	r0, r4
     d74:	6c57      	mov      	r1, r5
     d76:	3480      	movi      	r4, 128
     d78:	6502      	cmpne      	r0, r4
     d7a:	0c15      	bf      	0xda4	// da4 <__divdf3+0x10c>
     d7c:	9862      	ld.w      	r3, (r14, 0x8)
     d7e:	9883      	ld.w      	r4, (r14, 0xc)
     d80:	b86b      	st.w      	r3, (r14, 0x2c)
     d82:	b88c      	st.w      	r4, (r14, 0x30)
     d84:	1808      	addi      	r0, r14, 32
     d86:	e000026b 	bsr      	0x125c	// 125c <__pack_d>
     d8a:	1412      	addi      	r14, r14, 72
     d8c:	1494      	pop      	r4-r7, r15
     d8e:	644e      	cmpne      	r3, r1
     d90:	0bfa      	bt      	0xd84	// d84 <__divdf3+0xec>
     d92:	1016      	lrw      	r0, 0x4c38	// de8 <__divdf3+0x150>
     d94:	07f9      	br      	0xd86	// d86 <__divdf3+0xee>
     d96:	3300      	movi      	r3, 0
     d98:	3400      	movi      	r4, 0
     d9a:	b86b      	st.w      	r3, (r14, 0x2c)
     d9c:	b88c      	st.w      	r4, (r14, 0x30)
     d9e:	b86a      	st.w      	r3, (r14, 0x28)
     da0:	1808      	addi      	r0, r14, 32
     da2:	07f2      	br      	0xd86	// d86 <__divdf3+0xee>
     da4:	3940      	cmpnei      	r1, 0
     da6:	0beb      	bt      	0xd7c	// d7c <__divdf3+0xe4>
     da8:	3180      	movi      	r1, 128
     daa:	4121      	lsli      	r1, r1, 1
     dac:	9882      	ld.w      	r4, (r14, 0x8)
     dae:	98a3      	ld.w      	r5, (r14, 0xc)
     db0:	6850      	and      	r1, r4
     db2:	3940      	cmpnei      	r1, 0
     db4:	0be4      	bt      	0xd7c	// d7c <__divdf3+0xe4>
     db6:	6c98      	or      	r2, r6
     db8:	3a40      	cmpnei      	r2, 0
     dba:	0fe1      	bf      	0xd7c	// d7c <__divdf3+0xe4>
     dbc:	3280      	movi      	r2, 128
     dbe:	3300      	movi      	r3, 0
     dc0:	6c13      	mov      	r0, r4
     dc2:	6c57      	mov      	r1, r5
     dc4:	6401      	cmplt      	r0, r0
     dc6:	6009      	addc      	r0, r2
     dc8:	604d      	addc      	r1, r3
     dca:	6c83      	mov      	r2, r0
     dcc:	6cc7      	mov      	r3, r1
     dce:	6c0b      	mov      	r0, r2
     dd0:	31ff      	movi      	r1, 255
     dd2:	6805      	andn      	r0, r1
     dd4:	b802      	st.w      	r0, (r14, 0x8)
     dd6:	b863      	st.w      	r3, (r14, 0xc)
     dd8:	07d2      	br      	0xd7c	// d7c <__divdf3+0xe4>
     dda:	3304      	movi      	r3, 4
     ddc:	b868      	st.w      	r3, (r14, 0x20)
     dde:	1808      	addi      	r0, r14, 32
     de0:	07d3      	br      	0xd86	// d86 <__divdf3+0xee>
     de2:	180d      	addi      	r0, r14, 52
     de4:	07d1      	br      	0xd86	// d86 <__divdf3+0xee>
     de6:	0000      	bkpt
     de8:	00004c38 	.long	0x00004c38

00000dec <__gtdf2>:
     dec:	14d0      	push      	r15
     dee:	142e      	subi      	r14, r14, 56
     df0:	b800      	st.w      	r0, (r14, 0x0)
     df2:	b821      	st.w      	r1, (r14, 0x4)
     df4:	6c3b      	mov      	r0, r14
     df6:	1904      	addi      	r1, r14, 16
     df8:	b863      	st.w      	r3, (r14, 0xc)
     dfa:	b842      	st.w      	r2, (r14, 0x8)
     dfc:	e00002fe 	bsr      	0x13f8	// 13f8 <__unpack_d>
     e00:	1909      	addi      	r1, r14, 36
     e02:	1802      	addi      	r0, r14, 8
     e04:	e00002fa 	bsr      	0x13f8	// 13f8 <__unpack_d>
     e08:	9864      	ld.w      	r3, (r14, 0x10)
     e0a:	3b01      	cmphsi      	r3, 2
     e0c:	0c0a      	bf      	0xe20	// e20 <__gtdf2+0x34>
     e0e:	9869      	ld.w      	r3, (r14, 0x24)
     e10:	3b01      	cmphsi      	r3, 2
     e12:	0c07      	bf      	0xe20	// e20 <__gtdf2+0x34>
     e14:	1909      	addi      	r1, r14, 36
     e16:	1804      	addi      	r0, r14, 16
     e18:	e0000352 	bsr      	0x14bc	// 14bc <__fpcmp_parts_d>
     e1c:	140e      	addi      	r14, r14, 56
     e1e:	1490      	pop      	r15
     e20:	3000      	movi      	r0, 0
     e22:	2800      	subi      	r0, 1
     e24:	140e      	addi      	r14, r14, 56
     e26:	1490      	pop      	r15

00000e28 <__gedf2>:
     e28:	14d0      	push      	r15
     e2a:	142e      	subi      	r14, r14, 56
     e2c:	b800      	st.w      	r0, (r14, 0x0)
     e2e:	b821      	st.w      	r1, (r14, 0x4)
     e30:	6c3b      	mov      	r0, r14
     e32:	1904      	addi      	r1, r14, 16
     e34:	b863      	st.w      	r3, (r14, 0xc)
     e36:	b842      	st.w      	r2, (r14, 0x8)
     e38:	e00002e0 	bsr      	0x13f8	// 13f8 <__unpack_d>
     e3c:	1909      	addi      	r1, r14, 36
     e3e:	1802      	addi      	r0, r14, 8
     e40:	e00002dc 	bsr      	0x13f8	// 13f8 <__unpack_d>
     e44:	9864      	ld.w      	r3, (r14, 0x10)
     e46:	3b01      	cmphsi      	r3, 2
     e48:	0c0a      	bf      	0xe5c	// e5c <__gedf2+0x34>
     e4a:	9869      	ld.w      	r3, (r14, 0x24)
     e4c:	3b01      	cmphsi      	r3, 2
     e4e:	0c07      	bf      	0xe5c	// e5c <__gedf2+0x34>
     e50:	1909      	addi      	r1, r14, 36
     e52:	1804      	addi      	r0, r14, 16
     e54:	e0000334 	bsr      	0x14bc	// 14bc <__fpcmp_parts_d>
     e58:	140e      	addi      	r14, r14, 56
     e5a:	1490      	pop      	r15
     e5c:	3000      	movi      	r0, 0
     e5e:	2800      	subi      	r0, 1
     e60:	140e      	addi      	r14, r14, 56
     e62:	1490      	pop      	r15

00000e64 <__ltdf2>:
     e64:	14d0      	push      	r15
     e66:	142e      	subi      	r14, r14, 56
     e68:	b800      	st.w      	r0, (r14, 0x0)
     e6a:	b821      	st.w      	r1, (r14, 0x4)
     e6c:	6c3b      	mov      	r0, r14
     e6e:	1904      	addi      	r1, r14, 16
     e70:	b863      	st.w      	r3, (r14, 0xc)
     e72:	b842      	st.w      	r2, (r14, 0x8)
     e74:	e00002c2 	bsr      	0x13f8	// 13f8 <__unpack_d>
     e78:	1909      	addi      	r1, r14, 36
     e7a:	1802      	addi      	r0, r14, 8
     e7c:	e00002be 	bsr      	0x13f8	// 13f8 <__unpack_d>
     e80:	9864      	ld.w      	r3, (r14, 0x10)
     e82:	3b01      	cmphsi      	r3, 2
     e84:	0c0a      	bf      	0xe98	// e98 <__ltdf2+0x34>
     e86:	9869      	ld.w      	r3, (r14, 0x24)
     e88:	3b01      	cmphsi      	r3, 2
     e8a:	0c07      	bf      	0xe98	// e98 <__ltdf2+0x34>
     e8c:	1909      	addi      	r1, r14, 36
     e8e:	1804      	addi      	r0, r14, 16
     e90:	e0000316 	bsr      	0x14bc	// 14bc <__fpcmp_parts_d>
     e94:	140e      	addi      	r14, r14, 56
     e96:	1490      	pop      	r15
     e98:	3001      	movi      	r0, 1
     e9a:	140e      	addi      	r14, r14, 56
     e9c:	1490      	pop      	r15
	...

00000ea0 <__ledf2>:
     ea0:	14d0      	push      	r15
     ea2:	142e      	subi      	r14, r14, 56
     ea4:	b800      	st.w      	r0, (r14, 0x0)
     ea6:	b821      	st.w      	r1, (r14, 0x4)
     ea8:	6c3b      	mov      	r0, r14
     eaa:	1904      	addi      	r1, r14, 16
     eac:	b863      	st.w      	r3, (r14, 0xc)
     eae:	b842      	st.w      	r2, (r14, 0x8)
     eb0:	e00002a4 	bsr      	0x13f8	// 13f8 <__unpack_d>
     eb4:	1909      	addi      	r1, r14, 36
     eb6:	1802      	addi      	r0, r14, 8
     eb8:	e00002a0 	bsr      	0x13f8	// 13f8 <__unpack_d>
     ebc:	9864      	ld.w      	r3, (r14, 0x10)
     ebe:	3b01      	cmphsi      	r3, 2
     ec0:	0c0a      	bf      	0xed4	// ed4 <__ledf2+0x34>
     ec2:	9869      	ld.w      	r3, (r14, 0x24)
     ec4:	3b01      	cmphsi      	r3, 2
     ec6:	0c07      	bf      	0xed4	// ed4 <__ledf2+0x34>
     ec8:	1909      	addi      	r1, r14, 36
     eca:	1804      	addi      	r0, r14, 16
     ecc:	e00002f8 	bsr      	0x14bc	// 14bc <__fpcmp_parts_d>
     ed0:	140e      	addi      	r14, r14, 56
     ed2:	1490      	pop      	r15
     ed4:	3001      	movi      	r0, 1
     ed6:	140e      	addi      	r14, r14, 56
     ed8:	1490      	pop      	r15
	...

00000edc <__floatsidf>:
     edc:	14d1      	push      	r4, r15
     ede:	1425      	subi      	r14, r14, 20
     ee0:	3303      	movi      	r3, 3
     ee2:	b860      	st.w      	r3, (r14, 0x0)
     ee4:	3840      	cmpnei      	r0, 0
     ee6:	487f      	lsri      	r3, r0, 31
     ee8:	b861      	st.w      	r3, (r14, 0x4)
     eea:	0808      	bt      	0xefa	// efa <__floatsidf+0x1e>
     eec:	3302      	movi      	r3, 2
     eee:	b860      	st.w      	r3, (r14, 0x0)
     ef0:	6c3b      	mov      	r0, r14
     ef2:	e00001b5 	bsr      	0x125c	// 125c <__pack_d>
     ef6:	1405      	addi      	r14, r14, 20
     ef8:	1491      	pop      	r4, r15
     efa:	38df      	btsti      	r0, 31
     efc:	0812      	bt      	0xf20	// f20 <__floatsidf+0x44>
     efe:	6d03      	mov      	r4, r0
     f00:	6c13      	mov      	r0, r4
     f02:	e00000ab 	bsr      	0x1058	// 1058 <__clzsi2>
     f06:	321d      	movi      	r2, 29
     f08:	6080      	addu      	r2, r0
     f0a:	2802      	subi      	r0, 3
     f0c:	38df      	btsti      	r0, 31
     f0e:	0810      	bt      	0xf2e	// f2e <__floatsidf+0x52>
     f10:	7100      	lsl      	r4, r0
     f12:	3300      	movi      	r3, 0
     f14:	b884      	st.w      	r4, (r14, 0x10)
     f16:	b863      	st.w      	r3, (r14, 0xc)
     f18:	333c      	movi      	r3, 60
     f1a:	60ca      	subu      	r3, r2
     f1c:	b862      	st.w      	r3, (r14, 0x8)
     f1e:	07e9      	br      	0xef0	// ef0 <__floatsidf+0x14>
     f20:	3380      	movi      	r3, 128
     f22:	4378      	lsli      	r3, r3, 24
     f24:	64c2      	cmpne      	r0, r3
     f26:	0c0d      	bf      	0xf40	// f40 <__floatsidf+0x64>
     f28:	3400      	movi      	r4, 0
     f2a:	6102      	subu      	r4, r0
     f2c:	07ea      	br      	0xf00	// f00 <__floatsidf+0x24>
     f2e:	311f      	movi      	r1, 31
     f30:	4c61      	lsri      	r3, r4, 1
     f32:	604a      	subu      	r1, r2
     f34:	6c13      	mov      	r0, r4
     f36:	70c5      	lsr      	r3, r1
     f38:	7008      	lsl      	r0, r2
     f3a:	b864      	st.w      	r3, (r14, 0x10)
     f3c:	b803      	st.w      	r0, (r14, 0xc)
     f3e:	07ed      	br      	0xf18	// f18 <__floatsidf+0x3c>
     f40:	3000      	movi      	r0, 0
     f42:	1022      	lrw      	r1, 0xc1e00000	// f48 <__floatsidf+0x6c>
     f44:	07d9      	br      	0xef6	// ef6 <__floatsidf+0x1a>
     f46:	0000      	bkpt
     f48:	c1e00000 	.long	0xc1e00000

00000f4c <__fixdfsi>:
     f4c:	14d0      	push      	r15
     f4e:	1427      	subi      	r14, r14, 28
     f50:	b800      	st.w      	r0, (r14, 0x0)
     f52:	b821      	st.w      	r1, (r14, 0x4)
     f54:	6c3b      	mov      	r0, r14
     f56:	1902      	addi      	r1, r14, 8
     f58:	e0000250 	bsr      	0x13f8	// 13f8 <__unpack_d>
     f5c:	9862      	ld.w      	r3, (r14, 0x8)
     f5e:	3b02      	cmphsi      	r3, 3
     f60:	0c20      	bf      	0xfa0	// fa0 <__fixdfsi+0x54>
     f62:	3b44      	cmpnei      	r3, 4
     f64:	0c16      	bf      	0xf90	// f90 <__fixdfsi+0x44>
     f66:	9864      	ld.w      	r3, (r14, 0x10)
     f68:	3bdf      	btsti      	r3, 31
     f6a:	081b      	bt      	0xfa0	// fa0 <__fixdfsi+0x54>
     f6c:	3b3e      	cmplti      	r3, 31
     f6e:	0c11      	bf      	0xf90	// f90 <__fixdfsi+0x44>
     f70:	323c      	movi      	r2, 60
     f72:	5a6d      	subu      	r3, r2, r3
     f74:	3200      	movi      	r2, 0
     f76:	2a1f      	subi      	r2, 32
     f78:	608c      	addu      	r2, r3
     f7a:	3adf      	btsti      	r2, 31
     f7c:	0815      	bt      	0xfa6	// fa6 <__fixdfsi+0x5a>
     f7e:	9806      	ld.w      	r0, (r14, 0x18)
     f80:	7009      	lsr      	r0, r2
     f82:	9863      	ld.w      	r3, (r14, 0xc)
     f84:	3b40      	cmpnei      	r3, 0
     f86:	0c0b      	bf      	0xf9c	// f9c <__fixdfsi+0x50>
     f88:	3300      	movi      	r3, 0
     f8a:	5b01      	subu      	r0, r3, r0
     f8c:	1407      	addi      	r14, r14, 28
     f8e:	1490      	pop      	r15
     f90:	9863      	ld.w      	r3, (r14, 0xc)
     f92:	3b40      	cmpnei      	r3, 0
     f94:	3000      	movi      	r0, 0
     f96:	6001      	addc      	r0, r0
     f98:	1068      	lrw      	r3, 0x7fffffff	// fb8 <__fixdfsi+0x6c>
     f9a:	600c      	addu      	r0, r3
     f9c:	1407      	addi      	r14, r14, 28
     f9e:	1490      	pop      	r15
     fa0:	3000      	movi      	r0, 0
     fa2:	1407      	addi      	r14, r14, 28
     fa4:	1490      	pop      	r15
     fa6:	9846      	ld.w      	r2, (r14, 0x18)
     fa8:	311f      	movi      	r1, 31
     faa:	4241      	lsli      	r2, r2, 1
     fac:	604e      	subu      	r1, r3
     fae:	9805      	ld.w      	r0, (r14, 0x14)
     fb0:	7084      	lsl      	r2, r1
     fb2:	700d      	lsr      	r0, r3
     fb4:	6c08      	or      	r0, r2
     fb6:	07e6      	br      	0xf82	// f82 <__fixdfsi+0x36>
     fb8:	7fffffff 	.long	0x7fffffff

00000fbc <__make_dp>:
     fbc:	1421      	subi      	r14, r14, 4
     fbe:	14d1      	push      	r4, r15
     fc0:	1425      	subi      	r14, r14, 20
     fc2:	b867      	st.w      	r3, (r14, 0x1c)
     fc4:	9867      	ld.w      	r3, (r14, 0x1c)
     fc6:	9888      	ld.w      	r4, (r14, 0x20)
     fc8:	b800      	st.w      	r0, (r14, 0x0)
     fca:	6c3b      	mov      	r0, r14
     fcc:	b821      	st.w      	r1, (r14, 0x4)
     fce:	b842      	st.w      	r2, (r14, 0x8)
     fd0:	b863      	st.w      	r3, (r14, 0xc)
     fd2:	b884      	st.w      	r4, (r14, 0x10)
     fd4:	e0000144 	bsr      	0x125c	// 125c <__pack_d>
     fd8:	1405      	addi      	r14, r14, 20
     fda:	d9ee2001 	ld.w      	r15, (r14, 0x4)
     fde:	9880      	ld.w      	r4, (r14, 0x0)
     fe0:	1403      	addi      	r14, r14, 12
     fe2:	783c      	jmp      	r15

00000fe4 <__truncdfsf2>:
     fe4:	14d0      	push      	r15
     fe6:	1427      	subi      	r14, r14, 28
     fe8:	b800      	st.w      	r0, (r14, 0x0)
     fea:	b821      	st.w      	r1, (r14, 0x4)
     fec:	6c3b      	mov      	r0, r14
     fee:	1902      	addi      	r1, r14, 8
     ff0:	e0000204 	bsr      	0x13f8	// 13f8 <__unpack_d>
     ff4:	9845      	ld.w      	r2, (r14, 0x14)
     ff6:	4a3e      	lsri      	r1, r2, 30
     ff8:	9866      	ld.w      	r3, (r14, 0x18)
     ffa:	4242      	lsli      	r2, r2, 2
     ffc:	4362      	lsli      	r3, r3, 2
     ffe:	3a40      	cmpnei      	r2, 0
    1000:	6cc4      	or      	r3, r1
    1002:	0c02      	bf      	0x1006	// 1006 <__truncdfsf2+0x22>
    1004:	3ba0      	bseti      	r3, 0
    1006:	9844      	ld.w      	r2, (r14, 0x10)
    1008:	9823      	ld.w      	r1, (r14, 0xc)
    100a:	9802      	ld.w      	r0, (r14, 0x8)
    100c:	e000011c 	bsr      	0x1244	// 1244 <__make_fp>
    1010:	1407      	addi      	r14, r14, 28
    1012:	1490      	pop      	r15

00001014 <__muldi3>:
    1014:	14c4      	push      	r4-r7
    1016:	1421      	subi      	r14, r14, 4
    1018:	7501      	zexth      	r4, r0
    101a:	48b0      	lsri      	r5, r0, 16
    101c:	75c9      	zexth      	r7, r2
    101e:	6d83      	mov      	r6, r0
    1020:	b820      	st.w      	r1, (r14, 0x0)
    1022:	6c13      	mov      	r0, r4
    1024:	4a30      	lsri      	r1, r2, 16
    1026:	7c1c      	mult      	r0, r7
    1028:	7d04      	mult      	r4, r1
    102a:	7dd4      	mult      	r7, r5
    102c:	611c      	addu      	r4, r7
    102e:	7d44      	mult      	r5, r1
    1030:	4830      	lsri      	r1, r0, 16
    1032:	6104      	addu      	r4, r1
    1034:	65d0      	cmphs      	r4, r7
    1036:	0804      	bt      	0x103e	// 103e <__muldi3+0x2a>
    1038:	3180      	movi      	r1, 128
    103a:	4129      	lsli      	r1, r1, 9
    103c:	6144      	addu      	r5, r1
    103e:	4c30      	lsri      	r1, r4, 16
    1040:	7cd8      	mult      	r3, r6
    1042:	6144      	addu      	r5, r1
    1044:	6c4f      	mov      	r1, r3
    1046:	9860      	ld.w      	r3, (r14, 0x0)
    1048:	7cc8      	mult      	r3, r2
    104a:	4490      	lsli      	r4, r4, 16
    104c:	604c      	addu      	r1, r3
    104e:	7401      	zexth      	r0, r0
    1050:	6010      	addu      	r0, r4
    1052:	6054      	addu      	r1, r5
    1054:	1401      	addi      	r14, r14, 4
    1056:	1484      	pop      	r4-r7

00001058 <__clzsi2>:
    1058:	106d      	lrw      	r3, 0xffff	// 108c <__clzsi2+0x34>
    105a:	640c      	cmphs      	r3, r0
    105c:	0c07      	bf      	0x106a	// 106a <__clzsi2+0x12>
    105e:	33ff      	movi      	r3, 255
    1060:	640c      	cmphs      	r3, r0
    1062:	0c0f      	bf      	0x1080	// 1080 <__clzsi2+0x28>
    1064:	3320      	movi      	r3, 32
    1066:	3200      	movi      	r2, 0
    1068:	0406      	br      	0x1074	// 1074 <__clzsi2+0x1c>
    106a:	106a      	lrw      	r3, 0xffffff	// 1090 <__clzsi2+0x38>
    106c:	640c      	cmphs      	r3, r0
    106e:	080c      	bt      	0x1086	// 1086 <__clzsi2+0x2e>
    1070:	3308      	movi      	r3, 8
    1072:	3218      	movi      	r2, 24
    1074:	7009      	lsr      	r0, r2
    1076:	1048      	lrw      	r2, 0x4c4c	// 1094 <__clzsi2+0x3c>
    1078:	6008      	addu      	r0, r2
    107a:	8040      	ld.b      	r2, (r0, 0x0)
    107c:	5b09      	subu      	r0, r3, r2
    107e:	783c      	jmp      	r15
    1080:	3318      	movi      	r3, 24
    1082:	3208      	movi      	r2, 8
    1084:	07f8      	br      	0x1074	// 1074 <__clzsi2+0x1c>
    1086:	3310      	movi      	r3, 16
    1088:	3210      	movi      	r2, 16
    108a:	07f5      	br      	0x1074	// 1074 <__clzsi2+0x1c>
    108c:	0000ffff 	.long	0x0000ffff
    1090:	00ffffff 	.long	0x00ffffff
    1094:	00004c4c 	.long	0x00004c4c

00001098 <__pack_f>:
    1098:	14c1      	push      	r4
    109a:	9040      	ld.w      	r2, (r0, 0x0)
    109c:	3a01      	cmphsi      	r2, 2
    109e:	9063      	ld.w      	r3, (r0, 0xc)
    10a0:	9021      	ld.w      	r1, (r0, 0x4)
    10a2:	0c27      	bf      	0x10f0	// 10f0 <__pack_f+0x58>
    10a4:	3a44      	cmpnei      	r2, 4
    10a6:	0c22      	bf      	0x10ea	// 10ea <__pack_f+0x52>
    10a8:	3a42      	cmpnei      	r2, 2
    10aa:	0c1d      	bf      	0x10e4	// 10e4 <__pack_f+0x4c>
    10ac:	3b40      	cmpnei      	r3, 0
    10ae:	0c1b      	bf      	0x10e4	// 10e4 <__pack_f+0x4c>
    10b0:	9042      	ld.w      	r2, (r0, 0x8)
    10b2:	3000      	movi      	r0, 0
    10b4:	287d      	subi      	r0, 126
    10b6:	6409      	cmplt      	r2, r0
    10b8:	0828      	bt      	0x1108	// 1108 <__pack_f+0x70>
    10ba:	307f      	movi      	r0, 127
    10bc:	6481      	cmplt      	r0, r2
    10be:	0816      	bt      	0x10ea	// 10ea <__pack_f+0x52>
    10c0:	680c      	and      	r0, r3
    10c2:	3440      	movi      	r4, 64
    10c4:	6502      	cmpne      	r0, r4
    10c6:	0c1a      	bf      	0x10fa	// 10fa <__pack_f+0x62>
    10c8:	233e      	addi      	r3, 63
    10ca:	3bdf      	btsti      	r3, 31
    10cc:	081b      	bt      	0x1102	// 1102 <__pack_f+0x6a>
    10ce:	227e      	addi      	r2, 127
    10d0:	4302      	lsli      	r0, r3, 2
    10d2:	4809      	lsri      	r0, r0, 9
    10d4:	74c8      	zextb      	r3, r2
    10d6:	4009      	lsli      	r0, r0, 9
    10d8:	4377      	lsli      	r3, r3, 23
    10da:	4809      	lsri      	r0, r0, 9
    10dc:	413f      	lsli      	r1, r1, 31
    10de:	6c0c      	or      	r0, r3
    10e0:	6c04      	or      	r0, r1
    10e2:	1481      	pop      	r4
    10e4:	3300      	movi      	r3, 0
    10e6:	3000      	movi      	r0, 0
    10e8:	07f7      	br      	0x10d6	// 10d6 <__pack_f+0x3e>
    10ea:	33ff      	movi      	r3, 255
    10ec:	3000      	movi      	r0, 0
    10ee:	07f4      	br      	0x10d6	// 10d6 <__pack_f+0x3e>
    10f0:	4303      	lsli      	r0, r3, 3
    10f2:	480a      	lsri      	r0, r0, 10
    10f4:	38b6      	bseti      	r0, 22
    10f6:	33ff      	movi      	r3, 255
    10f8:	07ef      	br      	0x10d6	// 10d6 <__pack_f+0x3e>
    10fa:	3bc7      	btsti      	r3, 7
    10fc:	0fe7      	bf      	0x10ca	// 10ca <__pack_f+0x32>
    10fe:	60c0      	addu      	r3, r0
    1100:	07e5      	br      	0x10ca	// 10ca <__pack_f+0x32>
    1102:	4b61      	lsri      	r3, r3, 1
    1104:	227f      	addi      	r2, 128
    1106:	07e5      	br      	0x10d0	// 10d0 <__pack_f+0x38>
    1108:	600a      	subu      	r0, r2
    110a:	3839      	cmplti      	r0, 26
    110c:	0fec      	bf      	0x10e4	// 10e4 <__pack_f+0x4c>
    110e:	3201      	movi      	r2, 1
    1110:	7080      	lsl      	r2, r0
    1112:	2a00      	subi      	r2, 1
    1114:	6d0f      	mov      	r4, r3
    1116:	68c8      	and      	r3, r2
    1118:	3b40      	cmpnei      	r3, 0
    111a:	3200      	movi      	r2, 0
    111c:	7101      	lsr      	r4, r0
    111e:	6089      	addc      	r2, r2
    1120:	6c90      	or      	r2, r4
    1122:	337f      	movi      	r3, 127
    1124:	68c8      	and      	r3, r2
    1126:	3040      	movi      	r0, 64
    1128:	640e      	cmpne      	r3, r0
    112a:	080b      	bt      	0x1140	// 1140 <__pack_f+0xa8>
    112c:	3ac7      	btsti      	r2, 7
    112e:	0c02      	bf      	0x1132	// 1132 <__pack_f+0x9a>
    1130:	608c      	addu      	r2, r3
    1132:	1065      	lrw      	r3, 0x3fffffff	// 1144 <__pack_f+0xac>
    1134:	648c      	cmphs      	r3, r2
    1136:	4202      	lsli      	r0, r2, 2
    1138:	64c3      	mvcv      	r3
    113a:	4809      	lsri      	r0, r0, 9
    113c:	74cc      	zextb      	r3, r3
    113e:	07cc      	br      	0x10d6	// 10d6 <__pack_f+0x3e>
    1140:	223e      	addi      	r2, 63
    1142:	07f8      	br      	0x1132	// 1132 <__pack_f+0x9a>
    1144:	3fffffff 	.long	0x3fffffff

00001148 <__unpack_f>:
    1148:	14c1      	push      	r4
    114a:	8861      	ld.h      	r3, (r0, 0x2)
    114c:	4371      	lsli      	r3, r3, 17
    114e:	9040      	ld.w      	r2, (r0, 0x0)
    1150:	4b78      	lsri      	r3, r3, 24
    1152:	8003      	ld.b      	r0, (r0, 0x3)
    1154:	4249      	lsli      	r2, r2, 9
    1156:	4807      	lsri      	r0, r0, 7
    1158:	3b40      	cmpnei      	r3, 0
    115a:	4a49      	lsri      	r2, r2, 9
    115c:	b101      	st.w      	r0, (r1, 0x4)
    115e:	0811      	bt      	0x1180	// 1180 <__unpack_f+0x38>
    1160:	3a40      	cmpnei      	r2, 0
    1162:	0c1a      	bf      	0x1196	// 1196 <__unpack_f+0x4e>
    1164:	3303      	movi      	r3, 3
    1166:	b160      	st.w      	r3, (r1, 0x0)
    1168:	3300      	movi      	r3, 0
    116a:	4247      	lsli      	r2, r2, 7
    116c:	2b7e      	subi      	r3, 127
    116e:	1096      	lrw      	r4, 0x3fffffff	// 11c4 <__unpack_f+0x7c>
    1170:	4241      	lsli      	r2, r2, 1
    1172:	6490      	cmphs      	r4, r2
    1174:	6c0f      	mov      	r0, r3
    1176:	2b00      	subi      	r3, 1
    1178:	0bfc      	bt      	0x1170	// 1170 <__unpack_f+0x28>
    117a:	b102      	st.w      	r0, (r1, 0x8)
    117c:	b143      	st.w      	r2, (r1, 0xc)
    117e:	1481      	pop      	r4
    1180:	30ff      	movi      	r0, 255
    1182:	640e      	cmpne      	r3, r0
    1184:	0c0c      	bf      	0x119c	// 119c <__unpack_f+0x54>
    1186:	2b7e      	subi      	r3, 127
    1188:	4247      	lsli      	r2, r2, 7
    118a:	b162      	st.w      	r3, (r1, 0x8)
    118c:	3abe      	bseti      	r2, 30
    118e:	3303      	movi      	r3, 3
    1190:	b160      	st.w      	r3, (r1, 0x0)
    1192:	b143      	st.w      	r2, (r1, 0xc)
    1194:	1481      	pop      	r4
    1196:	3302      	movi      	r3, 2
    1198:	b160      	st.w      	r3, (r1, 0x0)
    119a:	1481      	pop      	r4
    119c:	3a40      	cmpnei      	r2, 0
    119e:	0c0d      	bf      	0x11b8	// 11b8 <__unpack_f+0x70>
    11a0:	3380      	movi      	r3, 128
    11a2:	436f      	lsli      	r3, r3, 15
    11a4:	68c8      	and      	r3, r2
    11a6:	3b40      	cmpnei      	r3, 0
    11a8:	0c0b      	bf      	0x11be	// 11be <__unpack_f+0x76>
    11aa:	3301      	movi      	r3, 1
    11ac:	b160      	st.w      	r3, (r1, 0x0)
    11ae:	1067      	lrw      	r3, 0x2000007f	// 11c8 <__unpack_f+0x80>
    11b0:	4247      	lsli      	r2, r2, 7
    11b2:	688d      	andn      	r2, r3
    11b4:	b143      	st.w      	r2, (r1, 0xc)
    11b6:	1481      	pop      	r4
    11b8:	3304      	movi      	r3, 4
    11ba:	b160      	st.w      	r3, (r1, 0x0)
    11bc:	1481      	pop      	r4
    11be:	b160      	st.w      	r3, (r1, 0x0)
    11c0:	07f7      	br      	0x11ae	// 11ae <__unpack_f+0x66>
    11c2:	0000      	bkpt
    11c4:	3fffffff 	.long	0x3fffffff
    11c8:	2000007f 	.long	0x2000007f

000011cc <__fpcmp_parts_f>:
    11cc:	14c1      	push      	r4
    11ce:	9060      	ld.w      	r3, (r0, 0x0)
    11d0:	3b01      	cmphsi      	r3, 2
    11d2:	0c12      	bf      	0x11f6	// 11f6 <__fpcmp_parts_f+0x2a>
    11d4:	9140      	ld.w      	r2, (r1, 0x0)
    11d6:	3a01      	cmphsi      	r2, 2
    11d8:	0c0f      	bf      	0x11f6	// 11f6 <__fpcmp_parts_f+0x2a>
    11da:	3b44      	cmpnei      	r3, 4
    11dc:	0c17      	bf      	0x120a	// 120a <__fpcmp_parts_f+0x3e>
    11de:	3a44      	cmpnei      	r2, 4
    11e0:	0c0f      	bf      	0x11fe	// 11fe <__fpcmp_parts_f+0x32>
    11e2:	3b42      	cmpnei      	r3, 2
    11e4:	0c0b      	bf      	0x11fa	// 11fa <__fpcmp_parts_f+0x2e>
    11e6:	3a42      	cmpnei      	r2, 2
    11e8:	0c13      	bf      	0x120e	// 120e <__fpcmp_parts_f+0x42>
    11ea:	9061      	ld.w      	r3, (r0, 0x4)
    11ec:	9141      	ld.w      	r2, (r1, 0x4)
    11ee:	648e      	cmpne      	r3, r2
    11f0:	0c14      	bf      	0x1218	// 1218 <__fpcmp_parts_f+0x4c>
    11f2:	3b40      	cmpnei      	r3, 0
    11f4:	0808      	bt      	0x1204	// 1204 <__fpcmp_parts_f+0x38>
    11f6:	3001      	movi      	r0, 1
    11f8:	1481      	pop      	r4
    11fa:	3a42      	cmpnei      	r2, 2
    11fc:	0c1e      	bf      	0x1238	// 1238 <__fpcmp_parts_f+0x6c>
    11fe:	9161      	ld.w      	r3, (r1, 0x4)
    1200:	3b40      	cmpnei      	r3, 0
    1202:	0bfa      	bt      	0x11f6	// 11f6 <__fpcmp_parts_f+0x2a>
    1204:	3000      	movi      	r0, 0
    1206:	2800      	subi      	r0, 1
    1208:	1481      	pop      	r4
    120a:	3a44      	cmpnei      	r2, 4
    120c:	0c18      	bf      	0x123c	// 123c <__fpcmp_parts_f+0x70>
    120e:	9061      	ld.w      	r3, (r0, 0x4)
    1210:	3b40      	cmpnei      	r3, 0
    1212:	0bf9      	bt      	0x1204	// 1204 <__fpcmp_parts_f+0x38>
    1214:	3001      	movi      	r0, 1
    1216:	07f1      	br      	0x11f8	// 11f8 <__fpcmp_parts_f+0x2c>
    1218:	9082      	ld.w      	r4, (r0, 0x8)
    121a:	9142      	ld.w      	r2, (r1, 0x8)
    121c:	6509      	cmplt      	r2, r4
    121e:	0bea      	bt      	0x11f2	// 11f2 <__fpcmp_parts_f+0x26>
    1220:	6491      	cmplt      	r4, r2
    1222:	0807      	bt      	0x1230	// 1230 <__fpcmp_parts_f+0x64>
    1224:	9003      	ld.w      	r0, (r0, 0xc)
    1226:	9143      	ld.w      	r2, (r1, 0xc)
    1228:	6408      	cmphs      	r2, r0
    122a:	0fe4      	bf      	0x11f2	// 11f2 <__fpcmp_parts_f+0x26>
    122c:	6480      	cmphs      	r0, r2
    122e:	0805      	bt      	0x1238	// 1238 <__fpcmp_parts_f+0x6c>
    1230:	3b40      	cmpnei      	r3, 0
    1232:	0fe9      	bf      	0x1204	// 1204 <__fpcmp_parts_f+0x38>
    1234:	3001      	movi      	r0, 1
    1236:	07e1      	br      	0x11f8	// 11f8 <__fpcmp_parts_f+0x2c>
    1238:	3000      	movi      	r0, 0
    123a:	1481      	pop      	r4
    123c:	9161      	ld.w      	r3, (r1, 0x4)
    123e:	9041      	ld.w      	r2, (r0, 0x4)
    1240:	5b09      	subu      	r0, r3, r2
    1242:	1481      	pop      	r4

00001244 <__make_fp>:
    1244:	14d0      	push      	r15
    1246:	1424      	subi      	r14, r14, 16
    1248:	b800      	st.w      	r0, (r14, 0x0)
    124a:	6c3b      	mov      	r0, r14
    124c:	b821      	st.w      	r1, (r14, 0x4)
    124e:	b842      	st.w      	r2, (r14, 0x8)
    1250:	b863      	st.w      	r3, (r14, 0xc)
    1252:	e3ffff23 	bsr      	0x1098	// 1098 <__pack_f>
    1256:	1404      	addi      	r14, r14, 16
    1258:	1490      	pop      	r15
	...

0000125c <__pack_d>:
    125c:	14c4      	push      	r4-r7
    125e:	1422      	subi      	r14, r14, 8
    1260:	9060      	ld.w      	r3, (r0, 0x0)
    1262:	3b01      	cmphsi      	r3, 2
    1264:	90c3      	ld.w      	r6, (r0, 0xc)
    1266:	90e4      	ld.w      	r7, (r0, 0x10)
    1268:	9021      	ld.w      	r1, (r0, 0x4)
    126a:	0c46      	bf      	0x12f6	// 12f6 <__pack_d+0x9a>
    126c:	3b44      	cmpnei      	r3, 4
    126e:	0c40      	bf      	0x12ee	// 12ee <__pack_d+0x92>
    1270:	3b42      	cmpnei      	r3, 2
    1272:	0c27      	bf      	0x12c0	// 12c0 <__pack_d+0x64>
    1274:	6cdb      	mov      	r3, r6
    1276:	6cdc      	or      	r3, r7
    1278:	3b40      	cmpnei      	r3, 0
    127a:	0c23      	bf      	0x12c0	// 12c0 <__pack_d+0x64>
    127c:	9062      	ld.w      	r3, (r0, 0x8)
    127e:	125a      	lrw      	r2, 0xfffffc02	// 13e4 <__pack_d+0x188>
    1280:	648d      	cmplt      	r3, r2
    1282:	0855      	bt      	0x132c	// 132c <__pack_d+0xd0>
    1284:	1259      	lrw      	r2, 0x3ff	// 13e8 <__pack_d+0x18c>
    1286:	64c9      	cmplt      	r2, r3
    1288:	0833      	bt      	0x12ee	// 12ee <__pack_d+0x92>
    128a:	34ff      	movi      	r4, 255
    128c:	3500      	movi      	r5, 0
    128e:	6918      	and      	r4, r6
    1290:	695c      	and      	r5, r7
    1292:	3280      	movi      	r2, 128
    1294:	6492      	cmpne      	r4, r2
    1296:	0c3f      	bf      	0x1314	// 1314 <__pack_d+0xb8>
    1298:	347f      	movi      	r4, 127
    129a:	3500      	movi      	r5, 0
    129c:	6599      	cmplt      	r6, r6
    129e:	6191      	addc      	r6, r4
    12a0:	61d5      	addc      	r7, r5
    12a2:	1253      	lrw      	r2, 0x1fffffff	// 13ec <__pack_d+0x190>
    12a4:	65c8      	cmphs      	r2, r7
    12a6:	0c1a      	bf      	0x12da	// 12da <__pack_d+0x7e>
    12a8:	1290      	lrw      	r4, 0x3ff	// 13e8 <__pack_d+0x18c>
    12aa:	610c      	addu      	r4, r3
    12ac:	4718      	lsli      	r0, r7, 24
    12ae:	4f68      	lsri      	r3, r7, 8
    12b0:	4e48      	lsri      	r2, r6, 8
    12b2:	6c80      	or      	r2, r0
    12b4:	430c      	lsli      	r0, r3, 12
    12b6:	486c      	lsri      	r3, r0, 12
    12b8:	120e      	lrw      	r0, 0x7ff	// 13f0 <__pack_d+0x194>
    12ba:	6d4b      	mov      	r5, r2
    12bc:	6900      	and      	r4, r0
    12be:	0404      	br      	0x12c6	// 12c6 <__pack_d+0x6a>
    12c0:	3400      	movi      	r4, 0
    12c2:	3200      	movi      	r2, 0
    12c4:	3300      	movi      	r3, 0
    12c6:	430c      	lsli      	r0, r3, 12
    12c8:	480c      	lsri      	r0, r0, 12
    12ca:	4474      	lsli      	r3, r4, 20
    12cc:	419f      	lsli      	r4, r1, 31
    12ce:	6c43      	mov      	r1, r0
    12d0:	6c4c      	or      	r1, r3
    12d2:	6c50      	or      	r1, r4
    12d4:	6c0b      	mov      	r0, r2
    12d6:	1402      	addi      	r14, r14, 8
    12d8:	1484      	pop      	r4-r7
    12da:	479f      	lsli      	r4, r7, 31
    12dc:	4e01      	lsri      	r0, r6, 1
    12de:	6d00      	or      	r4, r0
    12e0:	6d93      	mov      	r6, r4
    12e2:	3480      	movi      	r4, 128
    12e4:	4f41      	lsri      	r2, r7, 1
    12e6:	4483      	lsli      	r4, r4, 3
    12e8:	6dcb      	mov      	r7, r2
    12ea:	610c      	addu      	r4, r3
    12ec:	07e0      	br      	0x12ac	// 12ac <__pack_d+0x50>
    12ee:	1281      	lrw      	r4, 0x7ff	// 13f0 <__pack_d+0x194>
    12f0:	3200      	movi      	r2, 0
    12f2:	3300      	movi      	r3, 0
    12f4:	07e9      	br      	0x12c6	// 12c6 <__pack_d+0x6a>
    12f6:	4e08      	lsri      	r0, r6, 8
    12f8:	4798      	lsli      	r4, r7, 24
    12fa:	6d00      	or      	r4, r0
    12fc:	3580      	movi      	r5, 128
    12fe:	4705      	lsli      	r0, r7, 5
    1300:	6c93      	mov      	r2, r4
    1302:	486d      	lsri      	r3, r0, 13
    1304:	3400      	movi      	r4, 0
    1306:	45ac      	lsli      	r5, r5, 12
    1308:	6c90      	or      	r2, r4
    130a:	6cd4      	or      	r3, r5
    130c:	430c      	lsli      	r0, r3, 12
    130e:	486c      	lsri      	r3, r0, 12
    1310:	1198      	lrw      	r4, 0x7ff	// 13f0 <__pack_d+0x194>
    1312:	07da      	br      	0x12c6	// 12c6 <__pack_d+0x6a>
    1314:	3d40      	cmpnei      	r5, 0
    1316:	0bc1      	bt      	0x1298	// 1298 <__pack_d+0x3c>
    1318:	4241      	lsli      	r2, r2, 1
    131a:	6898      	and      	r2, r6
    131c:	3a40      	cmpnei      	r2, 0
    131e:	0fc2      	bf      	0x12a2	// 12a2 <__pack_d+0x46>
    1320:	3480      	movi      	r4, 128
    1322:	3500      	movi      	r5, 0
    1324:	6599      	cmplt      	r6, r6
    1326:	6191      	addc      	r6, r4
    1328:	61d5      	addc      	r7, r5
    132a:	07bc      	br      	0x12a2	// 12a2 <__pack_d+0x46>
    132c:	5a6d      	subu      	r3, r2, r3
    132e:	3238      	movi      	r2, 56
    1330:	64c9      	cmplt      	r2, r3
    1332:	0bc7      	bt      	0x12c0	// 12c0 <__pack_d+0x64>
    1334:	3200      	movi      	r2, 0
    1336:	2a1f      	subi      	r2, 32
    1338:	608c      	addu      	r2, r3
    133a:	3adf      	btsti      	r2, 31
    133c:	0848      	bt      	0x13cc	// 13cc <__pack_d+0x170>
    133e:	6c1f      	mov      	r0, r7
    1340:	7009      	lsr      	r0, r2
    1342:	b800      	st.w      	r0, (r14, 0x0)
    1344:	3000      	movi      	r0, 0
    1346:	b801      	st.w      	r0, (r14, 0x4)
    1348:	3adf      	btsti      	r2, 31
    134a:	083c      	bt      	0x13c2	// 13c2 <__pack_d+0x166>
    134c:	3301      	movi      	r3, 1
    134e:	70c8      	lsl      	r3, r2
    1350:	6d4f      	mov      	r5, r3
    1352:	3300      	movi      	r3, 0
    1354:	6d0f      	mov      	r4, r3
    1356:	3200      	movi      	r2, 0
    1358:	3300      	movi      	r3, 0
    135a:	2a00      	subi      	r2, 1
    135c:	2b00      	subi      	r3, 1
    135e:	6511      	cmplt      	r4, r4
    1360:	6109      	addc      	r4, r2
    1362:	614d      	addc      	r5, r3
    1364:	6990      	and      	r6, r4
    1366:	69d4      	and      	r7, r5
    1368:	6d9c      	or      	r6, r7
    136a:	3e40      	cmpnei      	r6, 0
    136c:	3000      	movi      	r0, 0
    136e:	6001      	addc      	r0, r0
    1370:	6c83      	mov      	r2, r0
    1372:	3300      	movi      	r3, 0
    1374:	9880      	ld.w      	r4, (r14, 0x0)
    1376:	98a1      	ld.w      	r5, (r14, 0x4)
    1378:	6d08      	or      	r4, r2
    137a:	6d4c      	or      	r5, r3
    137c:	32ff      	movi      	r2, 255
    137e:	3300      	movi      	r3, 0
    1380:	6890      	and      	r2, r4
    1382:	68d4      	and      	r3, r5
    1384:	3080      	movi      	r0, 128
    1386:	640a      	cmpne      	r2, r0
    1388:	081b      	bt      	0x13be	// 13be <__pack_d+0x162>
    138a:	3b40      	cmpnei      	r3, 0
    138c:	0819      	bt      	0x13be	// 13be <__pack_d+0x162>
    138e:	3380      	movi      	r3, 128
    1390:	4361      	lsli      	r3, r3, 1
    1392:	68d0      	and      	r3, r4
    1394:	3b40      	cmpnei      	r3, 0
    1396:	0c06      	bf      	0x13a2	// 13a2 <__pack_d+0x146>
    1398:	3280      	movi      	r2, 128
    139a:	3300      	movi      	r3, 0
    139c:	6511      	cmplt      	r4, r4
    139e:	6109      	addc      	r4, r2
    13a0:	614d      	addc      	r5, r3
    13a2:	4518      	lsli      	r0, r5, 24
    13a4:	4c48      	lsri      	r2, r4, 8
    13a6:	4d68      	lsri      	r3, r5, 8
    13a8:	1093      	lrw      	r4, 0xfffffff	// 13f4 <__pack_d+0x198>
    13aa:	6c80      	or      	r2, r0
    13ac:	6550      	cmphs      	r4, r5
    13ae:	430c      	lsli      	r0, r3, 12
    13b0:	486c      	lsri      	r3, r0, 12
    13b2:	3001      	movi      	r0, 1
    13b4:	0c02      	bf      	0x13b8	// 13b8 <__pack_d+0x15c>
    13b6:	3000      	movi      	r0, 0
    13b8:	108e      	lrw      	r4, 0x7ff	// 13f0 <__pack_d+0x194>
    13ba:	6900      	and      	r4, r0
    13bc:	0785      	br      	0x12c6	// 12c6 <__pack_d+0x6a>
    13be:	327f      	movi      	r2, 127
    13c0:	07ed      	br      	0x139a	// 139a <__pack_d+0x13e>
    13c2:	3201      	movi      	r2, 1
    13c4:	708c      	lsl      	r2, r3
    13c6:	3500      	movi      	r5, 0
    13c8:	6d0b      	mov      	r4, r2
    13ca:	07c6      	br      	0x1356	// 1356 <__pack_d+0xfa>
    13cc:	341f      	movi      	r4, 31
    13ce:	610e      	subu      	r4, r3
    13d0:	4701      	lsli      	r0, r7, 1
    13d2:	7010      	lsl      	r0, r4
    13d4:	6d1b      	mov      	r4, r6
    13d6:	710d      	lsr      	r4, r3
    13d8:	6d00      	or      	r4, r0
    13da:	6c1f      	mov      	r0, r7
    13dc:	700d      	lsr      	r0, r3
    13de:	b880      	st.w      	r4, (r14, 0x0)
    13e0:	b801      	st.w      	r0, (r14, 0x4)
    13e2:	07b3      	br      	0x1348	// 1348 <__pack_d+0xec>
    13e4:	fffffc02 	.long	0xfffffc02
    13e8:	000003ff 	.long	0x000003ff
    13ec:	1fffffff 	.long	0x1fffffff
    13f0:	000007ff 	.long	0x000007ff
    13f4:	0fffffff 	.long	0x0fffffff

000013f8 <__unpack_d>:
    13f8:	1423      	subi      	r14, r14, 12
    13fa:	b880      	st.w      	r4, (r14, 0x0)
    13fc:	b8c1      	st.w      	r6, (r14, 0x4)
    13fe:	b8e2      	st.w      	r7, (r14, 0x8)
    1400:	8843      	ld.h      	r2, (r0, 0x6)
    1402:	4251      	lsli      	r2, r2, 17
    1404:	9061      	ld.w      	r3, (r0, 0x4)
    1406:	9080      	ld.w      	r4, (r0, 0x0)
    1408:	4a55      	lsri      	r2, r2, 21
    140a:	8007      	ld.b      	r0, (r0, 0x7)
    140c:	436c      	lsli      	r3, r3, 12
    140e:	4807      	lsri      	r0, r0, 7
    1410:	3a40      	cmpnei      	r2, 0
    1412:	4b6c      	lsri      	r3, r3, 12
    1414:	b101      	st.w      	r0, (r1, 0x4)
    1416:	0819      	bt      	0x1448	// 1448 <__unpack_d+0x50>
    1418:	6c93      	mov      	r2, r4
    141a:	6c8c      	or      	r2, r3
    141c:	3a40      	cmpnei      	r2, 0
    141e:	0c2d      	bf      	0x1478	// 1478 <__unpack_d+0x80>
    1420:	4c58      	lsri      	r2, r4, 24
    1422:	4368      	lsli      	r3, r3, 8
    1424:	6cc8      	or      	r3, r2
    1426:	3203      	movi      	r2, 3
    1428:	4408      	lsli      	r0, r4, 8
    142a:	b140      	st.w      	r2, (r1, 0x0)
    142c:	1181      	lrw      	r4, 0xfffffc01	// 14b0 <__unpack_d+0xb8>
    142e:	11c2      	lrw      	r6, 0xfffffff	// 14b4 <__unpack_d+0xbc>
    1430:	485f      	lsri      	r2, r0, 31
    1432:	4361      	lsli      	r3, r3, 1
    1434:	6cc8      	or      	r3, r2
    1436:	64d8      	cmphs      	r6, r3
    1438:	6c93      	mov      	r2, r4
    143a:	4001      	lsli      	r0, r0, 1
    143c:	2c00      	subi      	r4, 1
    143e:	0bf9      	bt      	0x1430	// 1430 <__unpack_d+0x38>
    1440:	b142      	st.w      	r2, (r1, 0x8)
    1442:	b103      	st.w      	r0, (r1, 0xc)
    1444:	b164      	st.w      	r3, (r1, 0x10)
    1446:	0414      	br      	0x146e	// 146e <__unpack_d+0x76>
    1448:	101c      	lrw      	r0, 0x7ff	// 14b8 <__unpack_d+0xc0>
    144a:	640a      	cmpne      	r2, r0
    144c:	0c19      	bf      	0x147e	// 147e <__unpack_d+0x86>
    144e:	1019      	lrw      	r0, 0xfffffc01	// 14b0 <__unpack_d+0xb8>
    1450:	6080      	addu      	r2, r0
    1452:	b142      	st.w      	r2, (r1, 0x8)
    1454:	3203      	movi      	r2, 3
    1456:	43e8      	lsli      	r7, r3, 8
    1458:	b140      	st.w      	r2, (r1, 0x0)
    145a:	3380      	movi      	r3, 128
    145c:	4c58      	lsri      	r2, r4, 24
    145e:	6dc8      	or      	r7, r2
    1460:	44c8      	lsli      	r6, r4, 8
    1462:	3200      	movi      	r2, 0
    1464:	4375      	lsli      	r3, r3, 21
    1466:	6d88      	or      	r6, r2
    1468:	6dcc      	or      	r7, r3
    146a:	b1c3      	st.w      	r6, (r1, 0xc)
    146c:	b1e4      	st.w      	r7, (r1, 0x10)
    146e:	98e2      	ld.w      	r7, (r14, 0x8)
    1470:	98c1      	ld.w      	r6, (r14, 0x4)
    1472:	9880      	ld.w      	r4, (r14, 0x0)
    1474:	1403      	addi      	r14, r14, 12
    1476:	783c      	jmp      	r15
    1478:	3302      	movi      	r3, 2
    147a:	b160      	st.w      	r3, (r1, 0x0)
    147c:	07f9      	br      	0x146e	// 146e <__unpack_d+0x76>
    147e:	6c93      	mov      	r2, r4
    1480:	6c8c      	or      	r2, r3
    1482:	3a40      	cmpnei      	r2, 0
    1484:	0c10      	bf      	0x14a4	// 14a4 <__unpack_d+0xac>
    1486:	3280      	movi      	r2, 128
    1488:	424c      	lsli      	r2, r2, 12
    148a:	688c      	and      	r2, r3
    148c:	3a40      	cmpnei      	r2, 0
    148e:	0c0e      	bf      	0x14aa	// 14aa <__unpack_d+0xb2>
    1490:	3201      	movi      	r2, 1
    1492:	b140      	st.w      	r2, (r1, 0x0)
    1494:	4c58      	lsri      	r2, r4, 24
    1496:	4368      	lsli      	r3, r3, 8
    1498:	6cc8      	or      	r3, r2
    149a:	4408      	lsli      	r0, r4, 8
    149c:	3b9b      	bclri      	r3, 27
    149e:	b103      	st.w      	r0, (r1, 0xc)
    14a0:	b164      	st.w      	r3, (r1, 0x10)
    14a2:	07e6      	br      	0x146e	// 146e <__unpack_d+0x76>
    14a4:	3304      	movi      	r3, 4
    14a6:	b160      	st.w      	r3, (r1, 0x0)
    14a8:	07e3      	br      	0x146e	// 146e <__unpack_d+0x76>
    14aa:	b140      	st.w      	r2, (r1, 0x0)
    14ac:	07f4      	br      	0x1494	// 1494 <__unpack_d+0x9c>
    14ae:	0000      	bkpt
    14b0:	fffffc01 	.long	0xfffffc01
    14b4:	0fffffff 	.long	0x0fffffff
    14b8:	000007ff 	.long	0x000007ff

000014bc <__fpcmp_parts_d>:
    14bc:	14c1      	push      	r4
    14be:	9060      	ld.w      	r3, (r0, 0x0)
    14c0:	3b01      	cmphsi      	r3, 2
    14c2:	0c12      	bf      	0x14e6	// 14e6 <__fpcmp_parts_d+0x2a>
    14c4:	9140      	ld.w      	r2, (r1, 0x0)
    14c6:	3a01      	cmphsi      	r2, 2
    14c8:	0c0f      	bf      	0x14e6	// 14e6 <__fpcmp_parts_d+0x2a>
    14ca:	3b44      	cmpnei      	r3, 4
    14cc:	0c17      	bf      	0x14fa	// 14fa <__fpcmp_parts_d+0x3e>
    14ce:	3a44      	cmpnei      	r2, 4
    14d0:	0c0f      	bf      	0x14ee	// 14ee <__fpcmp_parts_d+0x32>
    14d2:	3b42      	cmpnei      	r3, 2
    14d4:	0c0b      	bf      	0x14ea	// 14ea <__fpcmp_parts_d+0x2e>
    14d6:	3a42      	cmpnei      	r2, 2
    14d8:	0c13      	bf      	0x14fe	// 14fe <__fpcmp_parts_d+0x42>
    14da:	9061      	ld.w      	r3, (r0, 0x4)
    14dc:	9141      	ld.w      	r2, (r1, 0x4)
    14de:	648e      	cmpne      	r3, r2
    14e0:	0c14      	bf      	0x1508	// 1508 <__fpcmp_parts_d+0x4c>
    14e2:	3b40      	cmpnei      	r3, 0
    14e4:	0808      	bt      	0x14f4	// 14f4 <__fpcmp_parts_d+0x38>
    14e6:	3001      	movi      	r0, 1
    14e8:	1481      	pop      	r4
    14ea:	3a42      	cmpnei      	r2, 2
    14ec:	0c28      	bf      	0x153c	// 153c <__fpcmp_parts_d+0x80>
    14ee:	9161      	ld.w      	r3, (r1, 0x4)
    14f0:	3b40      	cmpnei      	r3, 0
    14f2:	0bfa      	bt      	0x14e6	// 14e6 <__fpcmp_parts_d+0x2a>
    14f4:	3000      	movi      	r0, 0
    14f6:	2800      	subi      	r0, 1
    14f8:	1481      	pop      	r4
    14fa:	3a44      	cmpnei      	r2, 4
    14fc:	0c22      	bf      	0x1540	// 1540 <__fpcmp_parts_d+0x84>
    14fe:	9061      	ld.w      	r3, (r0, 0x4)
    1500:	3b40      	cmpnei      	r3, 0
    1502:	0bf9      	bt      	0x14f4	// 14f4 <__fpcmp_parts_d+0x38>
    1504:	3001      	movi      	r0, 1
    1506:	07f1      	br      	0x14e8	// 14e8 <__fpcmp_parts_d+0x2c>
    1508:	9082      	ld.w      	r4, (r0, 0x8)
    150a:	9142      	ld.w      	r2, (r1, 0x8)
    150c:	6509      	cmplt      	r2, r4
    150e:	0bea      	bt      	0x14e2	// 14e2 <__fpcmp_parts_d+0x26>
    1510:	6491      	cmplt      	r4, r2
    1512:	080d      	bt      	0x152c	// 152c <__fpcmp_parts_d+0x70>
    1514:	9044      	ld.w      	r2, (r0, 0x10)
    1516:	9083      	ld.w      	r4, (r0, 0xc)
    1518:	9103      	ld.w      	r0, (r1, 0xc)
    151a:	9124      	ld.w      	r1, (r1, 0x10)
    151c:	6484      	cmphs      	r1, r2
    151e:	0fe2      	bf      	0x14e2	// 14e2 <__fpcmp_parts_d+0x26>
    1520:	644a      	cmpne      	r2, r1
    1522:	0803      	bt      	0x1528	// 1528 <__fpcmp_parts_d+0x6c>
    1524:	6500      	cmphs      	r0, r4
    1526:	0fde      	bf      	0x14e2	// 14e2 <__fpcmp_parts_d+0x26>
    1528:	6448      	cmphs      	r2, r1
    152a:	0805      	bt      	0x1534	// 1534 <__fpcmp_parts_d+0x78>
    152c:	3b40      	cmpnei      	r3, 0
    152e:	0fe3      	bf      	0x14f4	// 14f4 <__fpcmp_parts_d+0x38>
    1530:	3001      	movi      	r0, 1
    1532:	07db      	br      	0x14e8	// 14e8 <__fpcmp_parts_d+0x2c>
    1534:	6486      	cmpne      	r1, r2
    1536:	0803      	bt      	0x153c	// 153c <__fpcmp_parts_d+0x80>
    1538:	6410      	cmphs      	r4, r0
    153a:	0ff9      	bf      	0x152c	// 152c <__fpcmp_parts_d+0x70>
    153c:	3000      	movi      	r0, 0
    153e:	1481      	pop      	r4
    1540:	9161      	ld.w      	r3, (r1, 0x4)
    1542:	9041      	ld.w      	r2, (r0, 0x4)
    1544:	5b09      	subu      	r0, r3, r2
    1546:	1481      	pop      	r4

00001548 <__memcpy_fast>:
    1548:	14c3      	push      	r4-r6
    154a:	6d83      	mov      	r6, r0
    154c:	6d07      	mov      	r4, r1
    154e:	6d18      	or      	r4, r6
    1550:	3303      	movi      	r3, 3
    1552:	690c      	and      	r4, r3
    1554:	3c40      	cmpnei      	r4, 0
    1556:	0c0b      	bf      	0x156c	// 156c <__memcpy_fast+0x24>
    1558:	3a40      	cmpnei      	r2, 0
    155a:	0c08      	bf      	0x156a	// 156a <__memcpy_fast+0x22>
    155c:	8160      	ld.b      	r3, (r1, 0x0)
    155e:	2100      	addi      	r1, 1
    1560:	2a00      	subi      	r2, 1
    1562:	a660      	st.b      	r3, (r6, 0x0)
    1564:	2600      	addi      	r6, 1
    1566:	3a40      	cmpnei      	r2, 0
    1568:	0bfa      	bt      	0x155c	// 155c <__memcpy_fast+0x14>
    156a:	1483      	pop      	r4-r6
    156c:	3a2f      	cmplti      	r2, 16
    156e:	080e      	bt      	0x158a	// 158a <__memcpy_fast+0x42>
    1570:	91a0      	ld.w      	r5, (r1, 0x0)
    1572:	9161      	ld.w      	r3, (r1, 0x4)
    1574:	9182      	ld.w      	r4, (r1, 0x8)
    1576:	b6a0      	st.w      	r5, (r6, 0x0)
    1578:	91a3      	ld.w      	r5, (r1, 0xc)
    157a:	b661      	st.w      	r3, (r6, 0x4)
    157c:	b682      	st.w      	r4, (r6, 0x8)
    157e:	b6a3      	st.w      	r5, (r6, 0xc)
    1580:	2a0f      	subi      	r2, 16
    1582:	210f      	addi      	r1, 16
    1584:	260f      	addi      	r6, 16
    1586:	3a2f      	cmplti      	r2, 16
    1588:	0ff4      	bf      	0x1570	// 1570 <__memcpy_fast+0x28>
    158a:	3a23      	cmplti      	r2, 4
    158c:	0808      	bt      	0x159c	// 159c <__memcpy_fast+0x54>
    158e:	9160      	ld.w      	r3, (r1, 0x0)
    1590:	2a03      	subi      	r2, 4
    1592:	2103      	addi      	r1, 4
    1594:	b660      	st.w      	r3, (r6, 0x0)
    1596:	2603      	addi      	r6, 4
    1598:	3a23      	cmplti      	r2, 4
    159a:	0ffa      	bf      	0x158e	// 158e <__memcpy_fast+0x46>
    159c:	3a40      	cmpnei      	r2, 0
    159e:	0fe6      	bf      	0x156a	// 156a <__memcpy_fast+0x22>
    15a0:	8160      	ld.b      	r3, (r1, 0x0)
    15a2:	2100      	addi      	r1, 1
    15a4:	2a00      	subi      	r2, 1
    15a6:	a660      	st.b      	r3, (r6, 0x0)
    15a8:	2600      	addi      	r6, 1
    15aa:	07f9      	br      	0x159c	// 159c <__memcpy_fast+0x54>

000015ac <__memset_fast>:
    15ac:	14c3      	push      	r4-r6
    15ae:	7444      	zextb      	r1, r1
    15b0:	3a40      	cmpnei      	r2, 0
    15b2:	0c1f      	bf      	0x15f0	// 15f0 <__memset_fast+0x44>
    15b4:	6d43      	mov      	r5, r0
    15b6:	6d03      	mov      	r4, r0
    15b8:	3603      	movi      	r6, 3
    15ba:	6918      	and      	r4, r6
    15bc:	3c40      	cmpnei      	r4, 0
    15be:	0c1a      	bf      	0x15f2	// 15f2 <__memset_fast+0x46>
    15c0:	a520      	st.b      	r1, (r5, 0x0)
    15c2:	2a00      	subi      	r2, 1
    15c4:	3a40      	cmpnei      	r2, 0
    15c6:	0c15      	bf      	0x15f0	// 15f0 <__memset_fast+0x44>
    15c8:	2500      	addi      	r5, 1
    15ca:	6d17      	mov      	r4, r5
    15cc:	3603      	movi      	r6, 3
    15ce:	6918      	and      	r4, r6
    15d0:	3c40      	cmpnei      	r4, 0
    15d2:	0c10      	bf      	0x15f2	// 15f2 <__memset_fast+0x46>
    15d4:	a520      	st.b      	r1, (r5, 0x0)
    15d6:	2a00      	subi      	r2, 1
    15d8:	3a40      	cmpnei      	r2, 0
    15da:	0c0b      	bf      	0x15f0	// 15f0 <__memset_fast+0x44>
    15dc:	2500      	addi      	r5, 1
    15de:	6d17      	mov      	r4, r5
    15e0:	3603      	movi      	r6, 3
    15e2:	6918      	and      	r4, r6
    15e4:	3c40      	cmpnei      	r4, 0
    15e6:	0c06      	bf      	0x15f2	// 15f2 <__memset_fast+0x46>
    15e8:	a520      	st.b      	r1, (r5, 0x0)
    15ea:	2a00      	subi      	r2, 1
    15ec:	2500      	addi      	r5, 1
    15ee:	0402      	br      	0x15f2	// 15f2 <__memset_fast+0x46>
    15f0:	1483      	pop      	r4-r6
    15f2:	4168      	lsli      	r3, r1, 8
    15f4:	6c4c      	or      	r1, r3
    15f6:	4170      	lsli      	r3, r1, 16
    15f8:	6c4c      	or      	r1, r3
    15fa:	3a2f      	cmplti      	r2, 16
    15fc:	0809      	bt      	0x160e	// 160e <__memset_fast+0x62>
    15fe:	b520      	st.w      	r1, (r5, 0x0)
    1600:	b521      	st.w      	r1, (r5, 0x4)
    1602:	b522      	st.w      	r1, (r5, 0x8)
    1604:	b523      	st.w      	r1, (r5, 0xc)
    1606:	2a0f      	subi      	r2, 16
    1608:	250f      	addi      	r5, 16
    160a:	3a2f      	cmplti      	r2, 16
    160c:	0ff9      	bf      	0x15fe	// 15fe <__memset_fast+0x52>
    160e:	3a23      	cmplti      	r2, 4
    1610:	0806      	bt      	0x161c	// 161c <__memset_fast+0x70>
    1612:	2a03      	subi      	r2, 4
    1614:	b520      	st.w      	r1, (r5, 0x0)
    1616:	2503      	addi      	r5, 4
    1618:	3a23      	cmplti      	r2, 4
    161a:	0ffc      	bf      	0x1612	// 1612 <__memset_fast+0x66>
    161c:	3a40      	cmpnei      	r2, 0
    161e:	0fe9      	bf      	0x15f0	// 15f0 <__memset_fast+0x44>
    1620:	2a00      	subi      	r2, 1
    1622:	a520      	st.b      	r1, (r5, 0x0)
    1624:	3a40      	cmpnei      	r2, 0
    1626:	0fe5      	bf      	0x15f0	// 15f0 <__memset_fast+0x44>
    1628:	2a00      	subi      	r2, 1
    162a:	a521      	st.b      	r1, (r5, 0x1)
    162c:	3a40      	cmpnei      	r2, 0
    162e:	0fe1      	bf      	0x15f0	// 15f0 <__memset_fast+0x44>
    1630:	a522      	st.b      	r1, (r5, 0x2)
    1632:	1483      	pop      	r4-r6

Disassembly of section .text.__main:

00001634 <__main>:
extern char _bss_start[];
extern char _ebss[];


void __main( void ) 
{
    1634:	14d0      	push      	r15

  /* if the start of data (dst)
     is not equal to end of text (src) then
     copy it, else it's already in the right place
     */
  if( _start_data != _end_rodata ) {
    1636:	1009      	lrw      	r0, 0x20000000	// 1658 <__main+0x24>
    1638:	1029      	lrw      	r1, 0x4d4c	// 165c <__main+0x28>
    163a:	6442      	cmpne      	r0, r1
    163c:	0c05      	bf      	0x1646	// 1646 <__main+0x12>
//    __memcpy_fast( dst, src, (_end_data - _start_data));
    memcpy( dst, src, (_end_data - _start_data));
    163e:	1049      	lrw      	r2, 0x200000f4	// 1660 <__main+0x2c>
    1640:	6082      	subu      	r2, r0
    1642:	e3ffff83 	bsr      	0x1548	// 1548 <__memcpy_fast>
  }

  /* zero the bss 
   */
  if( _ebss - _bss_start ) {
    1646:	1048      	lrw      	r2, 0x200004d8	// 1664 <__main+0x30>
    1648:	1008      	lrw      	r0, 0x200000f4	// 1668 <__main+0x34>
    164a:	640a      	cmpne      	r2, r0
    164c:	0c05      	bf      	0x1656	// 1656 <__main+0x22>
//    __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start ));
    memset( _bss_start, 0x00, ( _ebss - _bss_start ));
    164e:	6082      	subu      	r2, r0
    1650:	3100      	movi      	r1, 0
    1652:	e3ffffad 	bsr      	0x15ac	// 15ac <__memset_fast>
  }

	
}
    1656:	1490      	pop      	r15
    1658:	20000000 	.long	0x20000000
    165c:	00004d4c 	.long	0x00004d4c
    1660:	200000f4 	.long	0x200000f4
    1664:	200004d8 	.long	0x200004d8
    1668:	200000f4 	.long	0x200000f4

Disassembly of section .text.SYSCON_General_CMD.part.0:

0000166c <SYSCON_General_CMD.part.0>:
/*************************************************************/  
void SYSCON_General_CMD(FunctionalStatus NewState, SYSCON_General_CMD_TypeDef ENDIS_X )
{
	if (NewState != DISABLE)
	{
		if(ENDIS_X==ENDIS_EMOSC) 
    166c:	3848      	cmpnei      	r0, 8
    166e:	080a      	bt      	0x1682	// 1682 <SYSCON_General_CMD.part.0+0x16>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000;					//使能对应PIN
    1670:	1075      	lrw      	r3, 0x2000004c	// 16c4 <SYSCON_General_CMD.part.0+0x58>
    1672:	32ff      	movi      	r2, 255
    1674:	9320      	ld.w      	r1, (r3, 0x0)
    1676:	9160      	ld.w      	r3, (r1, 0x0)
    1678:	424c      	lsli      	r2, r2, 12
    167a:	68c9      	andn      	r3, r2
    167c:	3bae      	bseti      	r3, 14
    167e:	3bb2      	bseti      	r3, 18
    1680:	b160      	st.w      	r3, (r1, 0x0)
		SYSCON->GCER|=ENDIS_X;													//enable SYSCON General Control
    1682:	1072      	lrw      	r3, 0x20000058	// 16c8 <SYSCON_General_CMD.part.0+0x5c>
    1684:	9360      	ld.w      	r3, (r3, 0x0)
    1686:	9341      	ld.w      	r2, (r3, 0x4)
    1688:	6c80      	or      	r2, r0
    168a:	b341      	st.w      	r2, (r3, 0x4)
		while(!(SYSCON->GCSR&ENDIS_X));											//check  Enable?	
    168c:	9343      	ld.w      	r2, (r3, 0xc)
    168e:	6880      	and      	r2, r0
    1690:	3a40      	cmpnei      	r2, 0
    1692:	0ffd      	bf      	0x168c	// 168c <SYSCON_General_CMD.part.0+0x20>
		switch(ENDIS_X)
    1694:	3842      	cmpnei      	r0, 2
    1696:	0c0f      	bf      	0x16b4	// 16b4 <SYSCON_General_CMD.part.0+0x48>
    1698:	3802      	cmphsi      	r0, 3
    169a:	0806      	bt      	0x16a6	// 16a6 <SYSCON_General_CMD.part.0+0x3a>
    169c:	3841      	cmpnei      	r0, 1
				break;
			case ENDIS_EMOSC:
				while (!(SYSCON->CKST & ENDIS_EMOSC)); 
				break;	
			case ENDIS_ISOSC:
				while (!(SYSCON->CKST & ENDIS_ISOSC)); 
    169e:	080e      	bt      	0x16ba	// 16ba <SYSCON_General_CMD.part.0+0x4e>
    16a0:	9344      	ld.w      	r2, (r3, 0x10)
    16a2:	3ac0      	btsti      	r2, 0
    16a4:	07fd      	br      	0x169e	// 169e <SYSCON_General_CMD.part.0+0x32>
		switch(ENDIS_X)
    16a6:	3848      	cmpnei      	r0, 8
    16a8:	0c0a      	bf      	0x16bc	// 16bc <SYSCON_General_CMD.part.0+0x50>
    16aa:	3850      	cmpnei      	r0, 16
				break;
			case ENDIS_HFOSC:
				while (!(SYSCON->CKST & ENDIS_HFOSC)); 
    16ac:	0807      	bt      	0x16ba	// 16ba <SYSCON_General_CMD.part.0+0x4e>
    16ae:	9344      	ld.w      	r2, (r3, 0x10)
    16b0:	3ac4      	btsti      	r2, 4
    16b2:	07fd      	br      	0x16ac	// 16ac <SYSCON_General_CMD.part.0+0x40>
				while (!(SYSCON->CKST & ENDIS_IMOSC)); 	
    16b4:	9344      	ld.w      	r2, (r3, 0x10)
    16b6:	3ac1      	btsti      	r2, 1
    16b8:	0ffe      	bf      	0x16b4	// 16b4 <SYSCON_General_CMD.part.0+0x48>
	{
		SYSCON->GCDR|=ENDIS_X;													//disable SYSCON General Control
		while(SYSCON->GCSR&ENDIS_X);											//check  Disable?
		SYSCON->ICR|=ENDIS_X;													// Clear ENDIS_X stable bit
	}
}
    16ba:	783c      	jmp      	r15
				while (!(SYSCON->CKST & ENDIS_EMOSC)); 
    16bc:	9344      	ld.w      	r2, (r3, 0x10)
    16be:	3ac3      	btsti      	r2, 3
    16c0:	0ffe      	bf      	0x16bc	// 16bc <SYSCON_General_CMD.part.0+0x50>
    16c2:	07fc      	br      	0x16ba	// 16ba <SYSCON_General_CMD.part.0+0x4e>
    16c4:	2000004c 	.long	0x2000004c
    16c8:	20000058 	.long	0x20000058

Disassembly of section .text.SYSCON_RST_VALUE:

000016cc <SYSCON_RST_VALUE>:
	SYSCON->RAMCHK=SYSCON_RAMCHK_RST;
    16cc:	106f      	lrw      	r3, 0x20000058	// 1708 <SYSCON_RST_VALUE+0x3c>
    16ce:	1050      	lrw      	r2, 0xffff	// 170c <SYSCON_RST_VALUE+0x40>
    16d0:	9360      	ld.w      	r3, (r3, 0x0)
    16d2:	b345      	st.w      	r2, (r3, 0x14)
	SYSCON->EFLCHK=SYSCON_EFLCHK_RST;
    16d4:	104f      	lrw      	r2, 0xffffff	// 1710 <SYSCON_RST_VALUE+0x44>
    16d6:	b346      	st.w      	r2, (r3, 0x18)
	SYSCON->SCLKCR=SYSCON_SCLKCR_RST;
    16d8:	104f      	lrw      	r2, 0xd22d0000	// 1714 <SYSCON_RST_VALUE+0x48>
    16da:	b347      	st.w      	r2, (r3, 0x1c)
	SYSCON->OSTR=SYSCON_OSTR_RST;
    16dc:	104f      	lrw      	r2, 0x70ff3bff	// 1718 <SYSCON_RST_VALUE+0x4c>
    16de:	b350      	st.w      	r2, (r3, 0x40)
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
    16e0:	3180      	movi      	r1, 128
	SYSCON->LVDCR=SYSCON_LVDCR_RST;
    16e2:	320a      	movi      	r2, 10
    16e4:	b353      	st.w      	r2, (r3, 0x4c)
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
    16e6:	604c      	addu      	r1, r3
    16e8:	3200      	movi      	r2, 0
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
    16ea:	100d      	lrw      	r0, 0x70c	// 171c <SYSCON_RST_VALUE+0x50>
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
    16ec:	b145      	st.w      	r2, (r1, 0x14)
	SYSCON->UREG0=SYSCON_UREG0_RST;
    16ee:	23ff      	addi      	r3, 256
	SYSCON->EXIFT=SYSCON_EXIFT_RST;
    16f0:	b146      	st.w      	r2, (r1, 0x18)
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
    16f2:	b10d      	st.w      	r0, (r1, 0x34)
	SYSCON->IWDCNT=SYSCON_IWDCNT_RST;
    16f4:	100b      	lrw      	r0, 0x3fe	// 1720 <SYSCON_RST_VALUE+0x54>
    16f6:	b10e      	st.w      	r0, (r1, 0x38)
	SYSCON->EVTRG=SYSCON_EVTRG_RST;
    16f8:	b15d      	st.w      	r2, (r1, 0x74)
	SYSCON->EVPS=SYSCON_EVPS_RST;
    16fa:	b15e      	st.w      	r2, (r1, 0x78)
	SYSCON->EVSWF=SYSCON_EVSWF_RST;
    16fc:	b15f      	st.w      	r2, (r1, 0x7c)
	SYSCON->UREG0=SYSCON_UREG0_RST;
    16fe:	b340      	st.w      	r2, (r3, 0x0)
	SYSCON->UREG1=SYSCON_UREG1_RST;
    1700:	b341      	st.w      	r2, (r3, 0x4)
	SYSCON->UREG2=SYSCON_UREG2_RST;
    1702:	b342      	st.w      	r2, (r3, 0x8)
	SYSCON->UREG3=SYSCON_UREG3_RST;
    1704:	b343      	st.w      	r2, (r3, 0xc)
}
    1706:	783c      	jmp      	r15
    1708:	20000058 	.long	0x20000058
    170c:	0000ffff 	.long	0x0000ffff
    1710:	00ffffff 	.long	0x00ffffff
    1714:	d22d0000 	.long	0xd22d0000
    1718:	70ff3bff 	.long	0x70ff3bff
    171c:	0000070c 	.long	0x0000070c
    1720:	000003fe 	.long	0x000003fe

Disassembly of section .text.SYSCON_General_CMD:

00001724 <SYSCON_General_CMD>:
{
    1724:	14d0      	push      	r15
	if (NewState != DISABLE)
    1726:	3840      	cmpnei      	r0, 0
    1728:	0c05      	bf      	0x1732	// 1732 <SYSCON_General_CMD+0xe>
    172a:	6c07      	mov      	r0, r1
    172c:	e3ffffa0 	bsr      	0x166c	// 166c <SYSCON_General_CMD.part.0>
}
    1730:	1490      	pop      	r15
		SYSCON->GCDR|=ENDIS_X;													//disable SYSCON General Control
    1732:	1068      	lrw      	r3, 0x20000058	// 1750 <SYSCON_General_CMD+0x2c>
    1734:	9360      	ld.w      	r3, (r3, 0x0)
    1736:	9342      	ld.w      	r2, (r3, 0x8)
    1738:	6c84      	or      	r2, r1
    173a:	b342      	st.w      	r2, (r3, 0x8)
		while(SYSCON->GCSR&ENDIS_X);											//check  Disable?
    173c:	9343      	ld.w      	r2, (r3, 0xc)
    173e:	6884      	and      	r2, r1
    1740:	3a40      	cmpnei      	r2, 0
    1742:	0bfd      	bt      	0x173c	// 173c <SYSCON_General_CMD+0x18>
		SYSCON->ICR|=ENDIS_X;													// Clear ENDIS_X stable bit
    1744:	237f      	addi      	r3, 128
    1746:	9301      	ld.w      	r0, (r3, 0x4)
    1748:	6c40      	or      	r1, r0
    174a:	b321      	st.w      	r1, (r3, 0x4)
}
    174c:	07f2      	br      	0x1730	// 1730 <SYSCON_General_CMD+0xc>
    174e:	0000      	bkpt
    1750:	20000058 	.long	0x20000058

Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config:

00001754 <SystemCLK_HCLKDIV_PCLKDIV_Config>:
//SystemClk_data_x:EMOSC_24M,EMOSC_16M,EMOSC_12M,EMOSC_8M,EMOSC_4M,EMOSC_36K,
//ISOSC,IMOSC,HFOSC_48M,HFOSC_24M,HFOSC_12M,HFOSC_6M
//ReturnValue:NONE
/*************************************************************/ 
void SystemCLK_HCLKDIV_PCLKDIV_Config(SystemCLK_TypeDef SYSCLK_X , SystemCLK_Div_TypeDef HCLK_DIV_X , PCLK_Div_TypeDef PCLK_DIV_X , SystemClk_data_TypeDef SystemClk_data_x )
{
    1754:	14c2      	push      	r4-r5
	if(SystemClk_data_x==HFOSC_48M)
    1756:	3b48      	cmpnei      	r3, 8
    1758:	0823      	bt      	0x179e	// 179e <SystemCLK_HCLKDIV_PCLKDIV_Config+0x4a>
	{
		IFC->CEDR=0X01;						//CLKEN
    175a:	1097      	lrw      	r4, 0x2000005c	// 17b4 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x60>
    175c:	3501      	movi      	r5, 1
    175e:	9480      	ld.w      	r4, (r4, 0x0)
    1760:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X02|(0X01<<16);			//高速模式
    1762:	10b6      	lrw      	r5, 0x10002	// 17b8 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x64>
	}
	if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==EMOSC_16M)||(SystemClk_data_x==HFOSC_24M))
	{
		IFC->CEDR=0X01;						//CLKEN
		IFC->MR=0X01|(0X01<<16);			//中速模式
    1764:	b4a5      	st.w      	r5, (r4, 0x14)
	}
	if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
		||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==HFOSC_6M))
    1766:	5b87      	subi      	r4, r3, 2
	if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
    1768:	3c05      	cmphsi      	r4, 6
    176a:	0c04      	bf      	0x1772	// 1772 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x1e>
		||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==HFOSC_6M))
    176c:	2b09      	subi      	r3, 10
    176e:	3b01      	cmphsi      	r3, 2
    1770:	0807      	bt      	0x177e	// 177e <SystemCLK_HCLKDIV_PCLKDIV_Config+0x2a>
	{
		IFC->CEDR=0X01;						//CLKEN
    1772:	1071      	lrw      	r3, 0x2000005c	// 17b4 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x60>
    1774:	3401      	movi      	r4, 1
    1776:	9360      	ld.w      	r3, (r3, 0x0)
    1778:	b381      	st.w      	r4, (r3, 0x4)
		IFC->MR=0X00|(0X00<<16);			//低速
    177a:	3400      	movi      	r4, 0
    177c:	b385      	st.w      	r4, (r3, 0x14)
	}
	SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
    177e:	1090      	lrw      	r4, 0xd22d0000	// 17bc <SystemCLK_HCLKDIV_PCLKDIV_Config+0x68>
    1780:	1070      	lrw      	r3, 0x20000058	// 17c0 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x6c>
    1782:	6c10      	or      	r0, r4
    1784:	9360      	ld.w      	r3, (r3, 0x0)
    1786:	6c40      	or      	r1, r0
    1788:	b327      	st.w      	r1, (r3, 0x1c)
	while (!(SYSCON->CKST & (1<<8))); 											// waiting for sysclk stable
    178a:	9324      	ld.w      	r1, (r3, 0x10)
    178c:	39c8      	btsti      	r1, 8
    178e:	0ffe      	bf      	0x178a	// 178a <SystemCLK_HCLKDIV_PCLKDIV_Config+0x36>
	SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X;											//PCLK DIV 1 2 4 6 8 16		
    1790:	102d      	lrw      	r1, 0xc33c0000	// 17c4 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x70>
    1792:	6c48      	or      	r1, r2
    1794:	b328      	st.w      	r1, (r3, 0x20)
	while(SYSCON->PCLKCR!=PCLK_DIV_X);											//Wait PCLK DIV
    1796:	9328      	ld.w      	r1, (r3, 0x20)
    1798:	644a      	cmpne      	r2, r1
    179a:	0bfe      	bt      	0x1796	// 1796 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x42>
}
    179c:	1482      	pop      	r4-r5
	if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==EMOSC_16M)||(SystemClk_data_x==HFOSC_24M))
    179e:	3b01      	cmphsi      	r3, 2
    17a0:	0c03      	bf      	0x17a6	// 17a6 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x52>
    17a2:	3b49      	cmpnei      	r3, 9
    17a4:	0be1      	bt      	0x1766	// 1766 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x12>
		IFC->CEDR=0X01;						//CLKEN
    17a6:	1084      	lrw      	r4, 0x2000005c	// 17b4 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x60>
    17a8:	3501      	movi      	r5, 1
    17aa:	9480      	ld.w      	r4, (r4, 0x0)
    17ac:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X01|(0X01<<16);			//中速模式
    17ae:	10a7      	lrw      	r5, 0x10001	// 17c8 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x74>
    17b0:	07da      	br      	0x1764	// 1764 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x10>
    17b2:	0000      	bkpt
    17b4:	2000005c 	.long	0x2000005c
    17b8:	00010002 	.long	0x00010002
    17bc:	d22d0000 	.long	0xd22d0000
    17c0:	20000058 	.long	0x20000058
    17c4:	c33c0000 	.long	0xc33c0000
    17c8:	00010001 	.long	0x00010001

Disassembly of section .text.SYSCON_HFOSC_SELECTE:

000017cc <SYSCON_HFOSC_SELECTE>:
//EntryParameter:HFOSC_SELECTE_X
//HFOSC_SELECTE_X:HFOSC_SELECTE_48M,HFOSC_SELECTE_24M;HFOSC_SELECTE_12M;HFOSC_SELECTE_6M
//ReturnValue:NONE
/*************************************************************/  
void SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_TypeDef HFOSC_SELECTE_X)
{		
    17cc:	14d1      	push      	r4, r15
    17ce:	6d03      	mov      	r4, r0
	SYSCON_General_CMD(DISABLE,ENDIS_HFOSC);					//disable HFOSC
    17d0:	3110      	movi      	r1, 16
    17d2:	3000      	movi      	r0, 0
    17d4:	e3ffffa8 	bsr      	0x1724	// 1724 <SYSCON_General_CMD>
	SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X;
    17d8:	1066      	lrw      	r3, 0x20000058	// 17f0 <SYSCON_HFOSC_SELECTE+0x24>
    17da:	9360      	ld.w      	r3, (r3, 0x0)
    17dc:	9319      	ld.w      	r0, (r3, 0x64)
    17de:	3884      	bclri      	r0, 4
    17e0:	3885      	bclri      	r0, 5
    17e2:	6c10      	or      	r0, r4
    17e4:	b319      	st.w      	r0, (r3, 0x64)
    17e6:	3010      	movi      	r0, 16
    17e8:	e3ffff42 	bsr      	0x166c	// 166c <SYSCON_General_CMD.part.0>
	SYSCON_General_CMD(ENABLE,ENDIS_HFOSC);						//enable HFOSC
}
    17ec:	1491      	pop      	r4, r15
    17ee:	0000      	bkpt
    17f0:	20000058 	.long	0x20000058

Disassembly of section .text.SYSCON_WDT_CMD:

000017f4 <SYSCON_WDT_CMD>:
//EntryParameter:,NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_WDT_CMD(FunctionalStatus NewState)
{
    17f4:	1069      	lrw      	r3, 0x20000058	// 1818 <SYSCON_WDT_CMD+0x24>
	if(NewState != DISABLE)
    17f6:	3840      	cmpnei      	r0, 0
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    17f8:	9360      	ld.w      	r3, (r3, 0x0)
    17fa:	237f      	addi      	r3, 128
	if(NewState != DISABLE)
    17fc:	0c07      	bf      	0x180a	// 180a <SYSCON_WDT_CMD+0x16>
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    17fe:	1048      	lrw      	r2, 0x78870000	// 181c <SYSCON_WDT_CMD+0x28>
    1800:	b34f      	st.w      	r2, (r3, 0x3c)
		while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
    1802:	934d      	ld.w      	r2, (r3, 0x34)
    1804:	3acc      	btsti      	r2, 12
    1806:	0ffe      	bf      	0x1802	// 1802 <SYSCON_WDT_CMD+0xe>
	else
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
	}
}
    1808:	783c      	jmp      	r15
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
    180a:	1046      	lrw      	r2, 0x788755aa	// 1820 <SYSCON_WDT_CMD+0x2c>
    180c:	b34f      	st.w      	r2, (r3, 0x3c)
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
    180e:	934d      	ld.w      	r2, (r3, 0x34)
    1810:	3acc      	btsti      	r2, 12
    1812:	0bfe      	bt      	0x180e	// 180e <SYSCON_WDT_CMD+0x1a>
    1814:	07fa      	br      	0x1808	// 1808 <SYSCON_WDT_CMD+0x14>
    1816:	0000      	bkpt
    1818:	20000058 	.long	0x20000058
    181c:	78870000 	.long	0x78870000
    1820:	788755aa 	.long	0x788755aa

Disassembly of section .text.SYSCON_IWDCNT_Reload:

00001824 <SYSCON_IWDCNT_Reload>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void SYSCON_IWDCNT_Reload(void)
{
	SYSCON->IWDCNT=CLR_IWDT;
    1824:	1064      	lrw      	r3, 0x20000058	// 1834 <SYSCON_IWDCNT_Reload+0x10>
    1826:	32b4      	movi      	r2, 180
    1828:	9360      	ld.w      	r3, (r3, 0x0)
    182a:	237f      	addi      	r3, 128
    182c:	4257      	lsli      	r2, r2, 23
    182e:	b34e      	st.w      	r2, (r3, 0x38)
}
    1830:	783c      	jmp      	r15
    1832:	0000      	bkpt
    1834:	20000058 	.long	0x20000058

Disassembly of section .text.SYSCON_IWDCNT_Config:

00001838 <SYSCON_IWDCNT_Config>:
//IWDT_INTW_DIV_X:IWDT_INTW_DIV_1/2/3/4/4/5/6
//ReturnValue: NONE
/*************************************************************/
void SYSCON_IWDCNT_Config(IWDT_TIME_TypeDef IWDT_TIME_X , IWDT_TIMEDIV_TypeDef IWDT_INTW_DIV_X )
{
	SYSCON->IWDCR=IWDT_KEY|IWDT_TIME_X|IWDT_INTW_DIV_X;
    1838:	1044      	lrw      	r2, 0x87780000	// 1848 <SYSCON_IWDCNT_Config+0x10>
    183a:	1065      	lrw      	r3, 0x20000058	// 184c <SYSCON_IWDCNT_Config+0x14>
    183c:	6c48      	or      	r1, r2
    183e:	9360      	ld.w      	r3, (r3, 0x0)
    1840:	6c04      	or      	r0, r1
    1842:	237f      	addi      	r3, 128
    1844:	b30d      	st.w      	r0, (r3, 0x34)
}
    1846:	783c      	jmp      	r15
    1848:	87780000 	.long	0x87780000
    184c:	20000058 	.long	0x20000058

Disassembly of section .text.SYSCON_LVD_Config:

00001850 <SYSCON_LVD_Config>:
//X_LVD_INT:ENABLE_LVD_INT,DISABLE_LVD_INT
//INTDET_POL_X:INTDET_POL_fall,INTDET_POL_X_rise,INTDET_POL_X_riseORfall
//ReturnValue: NONE
/*************************************************************/
void SYSCON_LVD_Config(X_LVDEN_TypeDef X_LVDEN , INTDET_LVL_X_TypeDef INTDET_LVL_X , RSTDET_LVL_X_TypeDef RSTDET_LVL_X , X_LVD_INT_TypeDef X_LVD_INT , INTDET_POL_X_TypeDef INTDET_POL_X)
{
    1850:	14c3      	push      	r4-r6
    1852:	9883      	ld.w      	r4, (r14, 0xc)
	//SYSCON->LVDCR=LVD_KEY;
	SYSCON->LVDCR=LVD_KEY|X_LVDEN|INTDET_LVL_X|RSTDET_LVL_X|X_LVD_INT|INTDET_POL_X;
    1854:	10c5      	lrw      	r6, 0xb44b0000	// 1868 <SYSCON_LVD_Config+0x18>
    1856:	6d18      	or      	r4, r6
    1858:	6cd0      	or      	r3, r4
    185a:	6c8c      	or      	r2, r3
    185c:	6c48      	or      	r1, r2
    185e:	10a4      	lrw      	r5, 0x20000058	// 186c <SYSCON_LVD_Config+0x1c>
    1860:	6c04      	or      	r0, r1
    1862:	95a0      	ld.w      	r5, (r5, 0x0)
    1864:	b513      	st.w      	r0, (r5, 0x4c)
}
    1866:	1483      	pop      	r4-r6
    1868:	b44b0000 	.long	0xb44b0000
    186c:	20000058 	.long	0x20000058

Disassembly of section .text.EXTI_trigger_CMD:

00001870 <EXTI_trigger_CMD>:
//EXI_tringer_mode:_EXIRT,_EXIFT
//ReturnValue: LVD detection flag
/*************************************************************/
void EXTI_trigger_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef  EXIPIN , EXI_tringer_mode_TypeDef EXI_tringer_mode)
{
	switch(EXI_tringer_mode)
    1870:	3a40      	cmpnei      	r2, 0
    1872:	0c04      	bf      	0x187a	// 187a <EXTI_trigger_CMD+0xa>
    1874:	3a41      	cmpnei      	r2, 1
    1876:	0c0e      	bf      	0x1892	// 1892 <EXTI_trigger_CMD+0x22>
		{
			SYSCON->EXIFT &=~EXIPIN;	
		}
		break;
	}	
}
    1878:	783c      	jmp      	r15
    187a:	106d      	lrw      	r3, 0x20000058	// 18ac <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
    187c:	3840      	cmpnei      	r0, 0
			SYSCON->EXIRT |=EXIPIN;
    187e:	9360      	ld.w      	r3, (r3, 0x0)
    1880:	237f      	addi      	r3, 128
    1882:	9345      	ld.w      	r2, (r3, 0x14)
		if(NewState != DISABLE)
    1884:	0c04      	bf      	0x188c	// 188c <EXTI_trigger_CMD+0x1c>
			SYSCON->EXIRT |=EXIPIN;
    1886:	6c48      	or      	r1, r2
    1888:	b325      	st.w      	r1, (r3, 0x14)
    188a:	07f7      	br      	0x1878	// 1878 <EXTI_trigger_CMD+0x8>
			SYSCON->EXIRT &=~EXIPIN;	
    188c:	6885      	andn      	r2, r1
    188e:	b345      	st.w      	r2, (r3, 0x14)
    1890:	07f4      	br      	0x1878	// 1878 <EXTI_trigger_CMD+0x8>
    1892:	1067      	lrw      	r3, 0x20000058	// 18ac <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
    1894:	3840      	cmpnei      	r0, 0
			SYSCON->EXIFT |=EXIPIN;
    1896:	9360      	ld.w      	r3, (r3, 0x0)
    1898:	237f      	addi      	r3, 128
    189a:	9346      	ld.w      	r2, (r3, 0x18)
		if(NewState != DISABLE)
    189c:	0c04      	bf      	0x18a4	// 18a4 <EXTI_trigger_CMD+0x34>
			SYSCON->EXIFT |=EXIPIN;
    189e:	6c48      	or      	r1, r2
    18a0:	b326      	st.w      	r1, (r3, 0x18)
    18a2:	07eb      	br      	0x1878	// 1878 <EXTI_trigger_CMD+0x8>
			SYSCON->EXIFT &=~EXIPIN;	
    18a4:	6885      	andn      	r2, r1
    18a6:	b346      	st.w      	r2, (r3, 0x18)
}
    18a8:	07e8      	br      	0x1878	// 1878 <EXTI_trigger_CMD+0x8>
    18aa:	0000      	bkpt
    18ac:	20000058 	.long	0x20000058

Disassembly of section .text.CORET_DeInit:

000018b0 <CORET_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/    
void CORET_DeInit(void)
{
	CK801->CORET_CSR=CORET_CSR_RST;
    18b0:	1065      	lrw      	r3, 0x20000060	// 18c4 <CORET_DeInit+0x14>
    18b2:	3204      	movi      	r2, 4
    18b4:	9360      	ld.w      	r3, (r3, 0x0)
    18b6:	b344      	st.w      	r2, (r3, 0x10)
	CK801->CORET_RVR=CORET_RVR_RST;
    18b8:	3200      	movi      	r2, 0
    18ba:	b345      	st.w      	r2, (r3, 0x14)
	CK801->CORET_CVR=CORET_CVR_RST;
    18bc:	b346      	st.w      	r2, (r3, 0x18)
	CK801->CORET_CALIB=CORET_CALIB_RST;
    18be:	b347      	st.w      	r2, (r3, 0x1c)
}
    18c0:	783c      	jmp      	r15
    18c2:	0000      	bkpt
    18c4:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_Int_Enable:

000018c8 <CORET_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_Int_Enable(void)
{
    CK801->CORET_CVR = 0x0;							// Clear counter and flag
    18c8:	1064      	lrw      	r3, 0x20000060	// 18d8 <CORET_Int_Enable+0x10>
    18ca:	3200      	movi      	r2, 0
    18cc:	9360      	ld.w      	r3, (r3, 0x0)
    18ce:	b346      	st.w      	r2, (r3, 0x18)
	INTC_ISER_WRITE(CORET_INT);    
    18d0:	3201      	movi      	r2, 1
    18d2:	1063      	lrw      	r3, 0xe000e100	// 18dc <CORET_Int_Enable+0x14>
    18d4:	b340      	st.w      	r2, (r3, 0x0)
}
    18d6:	783c      	jmp      	r15
    18d8:	20000060 	.long	0x20000060
    18dc:	e000e100 	.long	0xe000e100

Disassembly of section .text.CORET_start:

000018e0 <CORET_start>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_start(void)
{
	CK801->CORET_CSR|=0x01;
    18e0:	1063      	lrw      	r3, 0x20000060	// 18ec <CORET_start+0xc>
    18e2:	9340      	ld.w      	r2, (r3, 0x0)
    18e4:	9264      	ld.w      	r3, (r2, 0x10)
    18e6:	3ba0      	bseti      	r3, 0
    18e8:	b264      	st.w      	r3, (r2, 0x10)
}
    18ea:	783c      	jmp      	r15
    18ec:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_stop:

000018f0 <CORET_stop>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_stop(void)
{
	CK801->CORET_CSR&=0Xfffffffe;
    18f0:	1063      	lrw      	r3, 0x20000060	// 18fc <CORET_stop+0xc>
    18f2:	9340      	ld.w      	r2, (r3, 0x0)
    18f4:	9264      	ld.w      	r3, (r2, 0x10)
    18f6:	3b80      	bclri      	r3, 0
    18f8:	b264      	st.w      	r3, (r2, 0x10)
}
    18fa:	783c      	jmp      	r15
    18fc:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_CLKSOURCE_EX:

00001900 <CORET_CLKSOURCE_EX>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_CLKSOURCE_EX(void)
{
	CK801->CORET_CSR&=0Xfffffffb;
    1900:	1063      	lrw      	r3, 0x20000060	// 190c <CORET_CLKSOURCE_EX+0xc>
    1902:	9340      	ld.w      	r2, (r3, 0x0)
    1904:	9264      	ld.w      	r3, (r2, 0x10)
    1906:	3b82      	bclri      	r3, 2
    1908:	b264      	st.w      	r3, (r2, 0x10)
}
    190a:	783c      	jmp      	r15
    190c:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_TICKINT_Enable:

00001910 <CORET_TICKINT_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_TICKINT_Enable(void)
{
    CK801->CORET_CSR|=0x02;
    1910:	1063      	lrw      	r3, 0x20000060	// 191c <CORET_TICKINT_Enable+0xc>
    1912:	9340      	ld.w      	r2, (r3, 0x0)
    1914:	9264      	ld.w      	r3, (r2, 0x10)
    1916:	3ba1      	bseti      	r3, 1
    1918:	b264      	st.w      	r3, (r2, 0x10)
}
    191a:	783c      	jmp      	r15
    191c:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_reload:

00001920 <CORET_reload>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_reload(void)
{
	CK801->CORET_CVR = 0x0;							// Clear counter and flag
    1920:	1063      	lrw      	r3, 0x20000060	// 192c <CORET_reload+0xc>
    1922:	3200      	movi      	r2, 0
    1924:	9360      	ld.w      	r3, (r3, 0x0)
    1926:	b346      	st.w      	r2, (r3, 0x18)
}
    1928:	783c      	jmp      	r15
    192a:	0000      	bkpt
    192c:	20000060 	.long	0x20000060

Disassembly of section .text.GPIO_Init:

00001930 <GPIO_Init>:
//byte:Lowbyte(PIN_0~7),Highbyte(PIN_8~15)
//Dir:0:output 1:input
//ReturnValue:NONE
/*************************************************************/  
void GPIO_Init(CSP_GPIO_T *GPIOx,uint8_t PinNum,GPIO_Dir_TypeDef Dir)
{
    1930:	14d1      	push      	r4, r15
    uint32_t data_temp;
    uint8_t GPIO_Pin;
    if(PinNum<8)
    1932:	3907      	cmphsi      	r1, 8
{
    1934:	6d03      	mov      	r4, r0
    if(PinNum<8)
    1936:	0830      	bt      	0x1996	// 1996 <GPIO_Init+0x66>
    {
    switch (PinNum)
    1938:	5903      	subi      	r0, r1, 1
    193a:	3806      	cmphsi      	r0, 7
    193c:	0827      	bt      	0x198a	// 198a <GPIO_Init+0x5a>
    193e:	e3fff439 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    1942:	1004      	.short	0x1004
    1944:	1d1a1613 	.long	0x1d1a1613
    1948:	0021      	.short	0x0021
    {
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
        case 1:data_temp=0xffffff0f;GPIO_Pin=4;break;
    194a:	3300      	movi      	r3, 0
    194c:	3104      	movi      	r1, 4
    194e:	2bf0      	subi      	r3, 241
        case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
        case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
        case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
    }
        if (Dir)
    1950:	3a40      	cmpnei      	r2, 0
        {
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    1952:	9440      	ld.w      	r2, (r4, 0x0)
    1954:	68c8      	and      	r3, r2
        if (Dir)
    1956:	0c1e      	bf      	0x1992	// 1992 <GPIO_Init+0x62>
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    1958:	3201      	movi      	r2, 1
        }
        else
        {
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    195a:	7084      	lsl      	r2, r1
    195c:	6cc8      	or      	r3, r2
    195e:	b460      	st.w      	r3, (r4, 0x0)
        else
        {
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
        }
    }
}
    1960:	1491      	pop      	r4, r15
        case 2:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    1962:	3108      	movi      	r1, 8
    1964:	1166      	lrw      	r3, 0xfffff0ff	// 19fc <GPIO_Init+0xcc>
    1966:	07f5      	br      	0x1950	// 1950 <GPIO_Init+0x20>
        case 3:data_temp=0xffff0fff;GPIO_Pin=12;break;
    1968:	310c      	movi      	r1, 12
    196a:	1166      	lrw      	r3, 0xffff0fff	// 1a00 <GPIO_Init+0xd0>
    196c:	07f2      	br      	0x1950	// 1950 <GPIO_Init+0x20>
        case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    196e:	3110      	movi      	r1, 16
    1970:	1165      	lrw      	r3, 0xfff10000	// 1a04 <GPIO_Init+0xd4>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    1972:	2b00      	subi      	r3, 1
    1974:	07ee      	br      	0x1950	// 1950 <GPIO_Init+0x20>
        case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
    1976:	3114      	movi      	r1, 20
    1978:	1164      	lrw      	r3, 0xff100000	// 1a08 <GPIO_Init+0xd8>
    197a:	07fc      	br      	0x1972	// 1972 <GPIO_Init+0x42>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    197c:	33f1      	movi      	r3, 241
    197e:	3118      	movi      	r1, 24
    1980:	4378      	lsli      	r3, r3, 24
    1982:	07f8      	br      	0x1972	// 1972 <GPIO_Init+0x42>
        case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
    1984:	311c      	movi      	r1, 28
    1986:	1162      	lrw      	r3, 0xfffffff	// 1a0c <GPIO_Init+0xdc>
    1988:	07e4      	br      	0x1950	// 1950 <GPIO_Init+0x20>
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
    198a:	3300      	movi      	r3, 0
    198c:	3100      	movi      	r1, 0
    198e:	2b0f      	subi      	r3, 16
    1990:	07e0      	br      	0x1950	// 1950 <GPIO_Init+0x20>
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    1992:	3202      	movi      	r2, 2
    1994:	07e3      	br      	0x195a	// 195a <GPIO_Init+0x2a>
    else if (PinNum<16)
    1996:	390f      	cmphsi      	r1, 16
    1998:	0be4      	bt      	0x1960	// 1960 <GPIO_Init+0x30>
        switch (PinNum)
    199a:	2908      	subi      	r1, 9
    199c:	3906      	cmphsi      	r1, 7
    199e:	6c07      	mov      	r0, r1
    19a0:	0827      	bt      	0x19ee	// 19ee <GPIO_Init+0xbe>
    19a2:	e3fff407 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    19a6:	1004      	.short	0x1004
    19a8:	1d1a1613 	.long	0x1d1a1613
    19ac:	0021      	.short	0x0021
        case 9:data_temp=0xffffff0f;GPIO_Pin=4;break;
    19ae:	3300      	movi      	r3, 0
    19b0:	3104      	movi      	r1, 4
    19b2:	2bf0      	subi      	r3, 241
      if (Dir)
    19b4:	3a40      	cmpnei      	r2, 0
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    19b6:	9441      	ld.w      	r2, (r4, 0x4)
    19b8:	68c8      	and      	r3, r2
      if (Dir)
    19ba:	0c1e      	bf      	0x19f6	// 19f6 <GPIO_Init+0xc6>
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    19bc:	3201      	movi      	r2, 1
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    19be:	7084      	lsl      	r2, r1
    19c0:	6cc8      	or      	r3, r2
    19c2:	b461      	st.w      	r3, (r4, 0x4)
}
    19c4:	07ce      	br      	0x1960	// 1960 <GPIO_Init+0x30>
        case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    19c6:	3108      	movi      	r1, 8
    19c8:	106d      	lrw      	r3, 0xfffff0ff	// 19fc <GPIO_Init+0xcc>
    19ca:	07f5      	br      	0x19b4	// 19b4 <GPIO_Init+0x84>
        case 11:data_temp=0xffff0fff;GPIO_Pin=12;break;
    19cc:	310c      	movi      	r1, 12
    19ce:	106d      	lrw      	r3, 0xffff0fff	// 1a00 <GPIO_Init+0xd0>
    19d0:	07f2      	br      	0x19b4	// 19b4 <GPIO_Init+0x84>
        case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    19d2:	3110      	movi      	r1, 16
    19d4:	106c      	lrw      	r3, 0xfff10000	// 1a04 <GPIO_Init+0xd4>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    19d6:	2b00      	subi      	r3, 1
    19d8:	07ee      	br      	0x19b4	// 19b4 <GPIO_Init+0x84>
        case 13:data_temp=0xff0fffff;GPIO_Pin=20;break;
    19da:	3114      	movi      	r1, 20
    19dc:	106b      	lrw      	r3, 0xff100000	// 1a08 <GPIO_Init+0xd8>
    19de:	07fc      	br      	0x19d6	// 19d6 <GPIO_Init+0xa6>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    19e0:	33f1      	movi      	r3, 241
    19e2:	3118      	movi      	r1, 24
    19e4:	4378      	lsli      	r3, r3, 24
    19e6:	07f8      	br      	0x19d6	// 19d6 <GPIO_Init+0xa6>
        case 15:data_temp=0x0fffffff;GPIO_Pin=28;break;
    19e8:	311c      	movi      	r1, 28
    19ea:	1069      	lrw      	r3, 0xfffffff	// 1a0c <GPIO_Init+0xdc>
    19ec:	07e4      	br      	0x19b4	// 19b4 <GPIO_Init+0x84>
        case 8:data_temp=0xfffffff0;GPIO_Pin=0;break;
    19ee:	3300      	movi      	r3, 0
    19f0:	3100      	movi      	r1, 0
    19f2:	2b0f      	subi      	r3, 16
    19f4:	07e0      	br      	0x19b4	// 19b4 <GPIO_Init+0x84>
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    19f6:	3202      	movi      	r2, 2
    19f8:	07e3      	br      	0x19be	// 19be <GPIO_Init+0x8e>
    19fa:	0000      	bkpt
    19fc:	fffff0ff 	.long	0xfffff0ff
    1a00:	ffff0fff 	.long	0xffff0fff
    1a04:	fff10000 	.long	0xfff10000
    1a08:	ff100000 	.long	0xff100000
    1a0c:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.GPIO_Write_High:

00001a10 <GPIO_Write_High>:
//bit:0~15
//ReturnValue:VALUE
/*************************************************************/
void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->SODR = (1ul<<bit);
    1a10:	3301      	movi      	r3, 1
    1a12:	70c4      	lsl      	r3, r1
    1a14:	b063      	st.w      	r3, (r0, 0xc)
}
    1a16:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Write_Low:

00001a18 <GPIO_Write_Low>:
void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->CODR = (1ul<<bit);
    1a18:	3301      	movi      	r3, 1
    1a1a:	70c4      	lsl      	r3, r1
    1a1c:	b064      	st.w      	r3, (r0, 0x10)
}
    1a1e:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Read_Status:

00001a20 <GPIO_Read_Status>:
/*************************************************************/
uint8_t GPIO_Read_Status(CSP_GPIO_T *GPIOx,uint8_t bit)
{
    uint8_t value = 0;
    uint32_t dat = 0;
    dat=((GPIOx)->PSDR)&(1<<bit);
    1a20:	3301      	movi      	r3, 1
    1a22:	9046      	ld.w      	r2, (r0, 0x18)
    1a24:	70c4      	lsl      	r3, r1
    1a26:	688c      	and      	r2, r3
    if (dat == (1<<bit))								
    1a28:	64ca      	cmpne      	r2, r3
    1a2a:	6403      	mvcv      	r0
	{
	    value = 1;
	} 
    return value;
    1a2c:	7400      	zextb      	r0, r0
}
    1a2e:	783c      	jmp      	r15

Disassembly of section .text.WWDT_CONFIG:

00001a30 <WWDT_CONFIG>:
//WWDT CONFIG
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void WWDT_CONFIG(WWDT_PSCDIV_TypeDef PSCDIVX,U8_T WND_DATA,WWDT_DBGEN_TypeDef DBGENX)
{
    1a30:	14c1      	push      	r4
	WWDT->CFGR =WND_DATA;
    1a32:	1065      	lrw      	r3, 0x20000010	// 1a44 <WWDT_CONFIG+0x14>
    1a34:	9380      	ld.w      	r4, (r3, 0x0)
    1a36:	b421      	st.w      	r1, (r4, 0x4)
	WWDT->CFGR |= PSCDIVX |DBGENX;
    1a38:	9461      	ld.w      	r3, (r4, 0x4)
    1a3a:	6c8c      	or      	r2, r3
    1a3c:	6c08      	or      	r0, r2
    1a3e:	b401      	st.w      	r0, (r4, 0x4)
}
    1a40:	1481      	pop      	r4
    1a42:	0000      	bkpt
    1a44:	20000010 	.long	0x20000010

Disassembly of section .text.WWDT_CNT_Load:

00001a48 <WWDT_CNT_Load>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void WWDT_CNT_Load(U8_T cnt_data)
{
	WWDT->CR  |= cnt_data;						//SET
    1a48:	1063      	lrw      	r3, 0x20000010	// 1a54 <WWDT_CNT_Load+0xc>
    1a4a:	9360      	ld.w      	r3, (r3, 0x0)
    1a4c:	9340      	ld.w      	r2, (r3, 0x0)
    1a4e:	6c08      	or      	r0, r2
    1a50:	b300      	st.w      	r0, (r3, 0x0)
}
    1a52:	783c      	jmp      	r15
    1a54:	20000010 	.long	0x20000010

Disassembly of section .text.WWDT_Int_Config:

00001a58 <WWDT_Int_Config>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void WWDT_Int_Config(FunctionalStatus NewState)
{
	if (NewState != DISABLE)
    1a58:	3840      	cmpnei      	r0, 0
    1a5a:	106a      	lrw      	r3, 0x20000010	// 1a80 <WWDT_Int_Config+0x28>
    1a5c:	0c0b      	bf      	0x1a72	// 1a72 <WWDT_Int_Config+0x1a>
	{
		WWDT->ICR = WWDT_EVI;				
    1a5e:	9360      	ld.w      	r3, (r3, 0x0)
    1a60:	3101      	movi      	r1, 1
    1a62:	b325      	st.w      	r1, (r3, 0x14)
		WWDT->IMCR  |= WWDT_EVI;
    1a64:	9344      	ld.w      	r2, (r3, 0x10)
    1a66:	6c84      	or      	r2, r1
    1a68:	b344      	st.w      	r2, (r3, 0x10)
		INTC_ISER_WRITE(WWDT_INT);  
    1a6a:	3240      	movi      	r2, 64
    1a6c:	1066      	lrw      	r3, 0xe000e100	// 1a84 <WWDT_Int_Config+0x2c>
	}
	else
	{
		WWDT->IMCR  &= ~WWDT_EVI;					//CLR
		INTC_ICER_WRITE(WWDT_INT);  
    1a6e:	b340      	st.w      	r2, (r3, 0x0)
	}
    1a70:	783c      	jmp      	r15
		WWDT->IMCR  &= ~WWDT_EVI;					//CLR
    1a72:	9340      	ld.w      	r2, (r3, 0x0)
    1a74:	9264      	ld.w      	r3, (r2, 0x10)
    1a76:	3b80      	bclri      	r3, 0
    1a78:	b264      	st.w      	r3, (r2, 0x10)
		INTC_ICER_WRITE(WWDT_INT);  
    1a7a:	3240      	movi      	r2, 64
    1a7c:	1063      	lrw      	r3, 0xe000e180	// 1a88 <WWDT_Int_Config+0x30>
    1a7e:	07f8      	br      	0x1a6e	// 1a6e <WWDT_Int_Config+0x16>
    1a80:	20000010 	.long	0x20000010
    1a84:	e000e100 	.long	0xe000e100
    1a88:	e000e180 	.long	0xe000e180

Disassembly of section .text.I2C_DeInit:

00001a8c <I2C_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_DeInit(void)
{
    I2C0->ENABLE  	= 0;
    1a8c:	1064      	lrw      	r3, 0x20000030	// 1a9c <I2C_DeInit+0x10>
    1a8e:	3200      	movi      	r2, 0
    1a90:	9360      	ld.w      	r3, (r3, 0x0)
    1a92:	b34f      	st.w      	r2, (r3, 0x3c)
    I2C0->IMSCR  	= 0;
    1a94:	b357      	st.w      	r2, (r3, 0x5c)
    I2C0->ICR   	= 0X7FFF;
    1a96:	1043      	lrw      	r2, 0x7fff	// 1aa0 <I2C_DeInit+0x14>
    1a98:	b359      	st.w      	r2, (r3, 0x64)
} 
    1a9a:	783c      	jmp      	r15
    1a9c:	20000030 	.long	0x20000030
    1aa0:	00007fff 	.long	0x00007fff

Disassembly of section .text.I2C_Slave_CONFIG:

00001aa4 <I2C_Slave_CONFIG>:
//I2C_SALVE_ADD:I2C SLAVE ADDRESS
//ReturnValue:NONE
/*************************************************************/
void I2C_Slave_CONFIG(I2C_SDA_TypeDef I2C_SDA_IO,I2C_SCL_TypeDef I2C_SCL_IO,I2C_SPEEDMODE_TypeDef SPEEDMODE,
						I2C_SLAVEBITS_TypeDef SLAVEBITS,U16_T I2C_SALVE_ADDS,U16_T SS_SCLHX,U16_T SS_SCLLX)
{
    1aa4:	14c4      	push      	r4-r7
    1aa6:	1421      	subi      	r14, r14, 4
    1aa8:	d88e100a 	ld.h      	r4, (r14, 0x14)
	//SDA IO Initial
    if(I2C_SDA_IO==I2C_SDA_PA00)
    1aac:	3840      	cmpnei      	r0, 0
{
    1aae:	b880      	st.w      	r4, (r14, 0x0)
    1ab0:	d8ae100c 	ld.h      	r5, (r14, 0x18)
    1ab4:	d88e100e 	ld.h      	r4, (r14, 0x1c)
    if(I2C_SDA_IO==I2C_SDA_PA00)
    1ab8:	080a      	bt      	0x1acc	// 1acc <I2C_Slave_CONFIG+0x28>
    {
    GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0)  | 0x00000005;            //PA0.0->SDA
    1aba:	1206      	lrw      	r0, 0x2000004c	// 1bd0 <I2C_Slave_CONFIG+0x12c>
    1abc:	370f      	movi      	r7, 15
    1abe:	90c0      	ld.w      	r6, (r0, 0x0)
    1ac0:	9600      	ld.w      	r0, (r6, 0x0)
    1ac2:	681d      	andn      	r0, r7
    1ac4:	38a0      	bseti      	r0, 0
    1ac6:	38a2      	bseti      	r0, 2
    {
    GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00006000;            //PA0.3->SDA   ///
    }
	else if (I2C_SDA_IO==I2C_SDA_PA07)
    {
    GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x40000000;            //PA0.7->SDA        
    1ac8:	b600      	st.w      	r0, (r6, 0x0)
    1aca:	040c      	br      	0x1ae2	// 1ae2 <I2C_Slave_CONFIG+0x3e>
    else if(I2C_SDA_IO==I2C_SDA_PA03)
    1acc:	3841      	cmpnei      	r0, 1
    1ace:	0827      	bt      	0x1b1c	// 1b1c <I2C_Slave_CONFIG+0x78>
    GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00006000;            //PA0.3->SDA   ///
    1ad0:	1200      	lrw      	r0, 0x2000004c	// 1bd0 <I2C_Slave_CONFIG+0x12c>
    1ad2:	36f0      	movi      	r6, 240
    1ad4:	90e0      	ld.w      	r7, (r0, 0x0)
    1ad6:	9700      	ld.w      	r0, (r7, 0x0)
    1ad8:	46c8      	lsli      	r6, r6, 8
    1ada:	6819      	andn      	r0, r6
    1adc:	38ad      	bseti      	r0, 13
    1ade:	38ae      	bseti      	r0, 14
    1ae0:	b700      	st.w      	r0, (r7, 0x0)
	else if(I2C_SDA_IO==I2C_SDA_PA014)
    {
    GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF)  | 0x06000000;            //PA0.14->SDA
    }
	//SCL IO Initial
	if (I2C_SCL_IO==I2C_SCL_PB00)
    1ae2:	3940      	cmpnei      	r1, 0
    1ae4:	083c      	bt      	0x1b5c	// 1b5c <I2C_Slave_CONFIG+0xb8>
    {
    GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000006;            //PB0.0->SCL        
    1ae6:	113c      	lrw      	r1, 0x20000048	// 1bd4 <I2C_Slave_CONFIG+0x130>
    1ae8:	360f      	movi      	r6, 15
    1aea:	9100      	ld.w      	r0, (r1, 0x0)
    1aec:	9020      	ld.w      	r1, (r0, 0x0)
    1aee:	6859      	andn      	r1, r6
    1af0:	39a1      	bseti      	r1, 1
    1af2:	39a2      	bseti      	r1, 2
    }
	else if (I2C_SCL_IO==I2C_SCL_PB02)
    {
    GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)  | 0x00000400;            //PB0.2->SCL        
    1af4:	b020      	st.w      	r1, (r0, 0x0)
    }
	else if(I2C_SCL_IO==I2C_SCL_PA015)
    {
    GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF)  | 0x60000000;            //PA0.15->SCL  
    }
	I2C0->ENABLE = (I2C0->ENABLE&0XFFFFFFFE)|I2C_DISABLE;
    1af6:	1139      	lrw      	r1, 0x20000030	// 1bd8 <I2C_Slave_CONFIG+0x134>
	I2C0->CR =(I2C0->CR&0XFFFFF000)| I2C_MASTER_DIS |I2C_SLAVE_EN | SPEEDMODE | SLAVEBITS;
    1af8:	11d9      	lrw      	r6, 0xfff	// 1bdc <I2C_Slave_CONFIG+0x138>
	I2C0->ENABLE = (I2C0->ENABLE&0XFFFFFFFE)|I2C_DISABLE;
    1afa:	9120      	ld.w      	r1, (r1, 0x0)
    1afc:	910f      	ld.w      	r0, (r1, 0x3c)
    1afe:	3880      	bclri      	r0, 0
    1b00:	b10f      	st.w      	r0, (r1, 0x3c)
	I2C0->CR =(I2C0->CR&0XFFFFF000)| I2C_MASTER_DIS |I2C_SLAVE_EN | SPEEDMODE | SLAVEBITS;
    1b02:	9100      	ld.w      	r0, (r1, 0x0)
    1b04:	6819      	andn      	r0, r6
    1b06:	6cc0      	or      	r3, r0
    1b08:	6cc8      	or      	r3, r2
    1b0a:	b160      	st.w      	r3, (r1, 0x0)
	I2C0->SADDR = I2C_SALVE_ADDS;
	if(SPEEDMODE==FAST_MODE)
    1b0c:	3a44      	cmpnei      	r2, 4
	I2C0->SADDR = I2C_SALVE_ADDS;
    1b0e:	9860      	ld.w      	r3, (r14, 0x0)
    1b10:	b162      	st.w      	r3, (r1, 0x8)
	if(SPEEDMODE==FAST_MODE)
    1b12:	085a      	bt      	0x1bc6	// 1bc6 <I2C_Slave_CONFIG+0x122>
	{
		I2C0->FS_SCLH  = SS_SCLHX;  							//SCL high time
    1b14:	b1a7      	st.w      	r5, (r1, 0x1c)
		I2C0->FS_SCLL  = SS_SCLLX;  							//SCL low  time
    1b16:	b188      	st.w      	r4, (r1, 0x20)
	else if(SPEEDMODE==STANDARD_MODE)
	{
		I2C0->SS_SCLH  = SS_SCLHX;  							//SCL high time
		I2C0->SS_SCLL  = SS_SCLLX;  							//SCL low  time
	}
}
    1b18:	1401      	addi      	r14, r14, 4
    1b1a:	1484      	pop      	r4-r7
	else if (I2C_SDA_IO==I2C_SDA_PA07)
    1b1c:	3842      	cmpnei      	r0, 2
    1b1e:	0808      	bt      	0x1b2e	// 1b2e <I2C_Slave_CONFIG+0x8a>
    GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x40000000;            //PA0.7->SDA        
    1b20:	110c      	lrw      	r0, 0x2000004c	// 1bd0 <I2C_Slave_CONFIG+0x12c>
    1b22:	90c0      	ld.w      	r6, (r0, 0x0)
    1b24:	9600      	ld.w      	r0, (r6, 0x0)
    1b26:	4004      	lsli      	r0, r0, 4
    1b28:	4804      	lsri      	r0, r0, 4
    1b2a:	38be      	bseti      	r0, 30
    1b2c:	07ce      	br      	0x1ac8	// 1ac8 <I2C_Slave_CONFIG+0x24>
	else if(I2C_SDA_IO==I2C_SDA_PA013)
    1b2e:	3843      	cmpnei      	r0, 3
    1b30:	080b      	bt      	0x1b46	// 1b46 <I2C_Slave_CONFIG+0xa2>
    GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00600000;            //PA0.13->SDA
    1b32:	1108      	lrw      	r0, 0x2000004c	// 1bd0 <I2C_Slave_CONFIG+0x12c>
    1b34:	36f0      	movi      	r6, 240
    1b36:	90e0      	ld.w      	r7, (r0, 0x0)
    1b38:	9701      	ld.w      	r0, (r7, 0x4)
    1b3a:	46d0      	lsli      	r6, r6, 16
    1b3c:	6819      	andn      	r0, r6
    1b3e:	38b5      	bseti      	r0, 21
    1b40:	38b6      	bseti      	r0, 22
    GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF)  | 0x06000000;            //PA0.14->SDA
    1b42:	b701      	st.w      	r0, (r7, 0x4)
    1b44:	07cf      	br      	0x1ae2	// 1ae2 <I2C_Slave_CONFIG+0x3e>
	else if(I2C_SDA_IO==I2C_SDA_PA014)
    1b46:	3844      	cmpnei      	r0, 4
    1b48:	0bcd      	bt      	0x1ae2	// 1ae2 <I2C_Slave_CONFIG+0x3e>
    GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF)  | 0x06000000;            //PA0.14->SDA
    1b4a:	1102      	lrw      	r0, 0x2000004c	// 1bd0 <I2C_Slave_CONFIG+0x12c>
    1b4c:	36f0      	movi      	r6, 240
    1b4e:	90e0      	ld.w      	r7, (r0, 0x0)
    1b50:	9701      	ld.w      	r0, (r7, 0x4)
    1b52:	46d4      	lsli      	r6, r6, 20
    1b54:	6819      	andn      	r0, r6
    1b56:	38b9      	bseti      	r0, 25
    1b58:	38ba      	bseti      	r0, 26
    1b5a:	07f4      	br      	0x1b42	// 1b42 <I2C_Slave_CONFIG+0x9e>
	else if (I2C_SCL_IO==I2C_SCL_PB02)
    1b5c:	3941      	cmpnei      	r1, 1
    1b5e:	0809      	bt      	0x1b70	// 1b70 <I2C_Slave_CONFIG+0xcc>
    GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)  | 0x00000400;            //PB0.2->SCL        
    1b60:	103d      	lrw      	r1, 0x20000048	// 1bd4 <I2C_Slave_CONFIG+0x130>
    1b62:	36f0      	movi      	r6, 240
    1b64:	9100      	ld.w      	r0, (r1, 0x0)
    1b66:	9020      	ld.w      	r1, (r0, 0x0)
    1b68:	46c4      	lsli      	r6, r6, 4
    1b6a:	6859      	andn      	r1, r6
    1b6c:	39aa      	bseti      	r1, 10
    1b6e:	07c3      	br      	0x1af4	// 1af4 <I2C_Slave_CONFIG+0x50>
    else if(I2C_SCL_IO==I2C_SCL_PA01)
    1b70:	3942      	cmpnei      	r1, 2
    1b72:	0809      	bt      	0x1b84	// 1b84 <I2C_Slave_CONFIG+0xe0>
    GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F)  | 0x00000050;            //PA0.1->SCL
    1b74:	1037      	lrw      	r1, 0x2000004c	// 1bd0 <I2C_Slave_CONFIG+0x12c>
    1b76:	36f0      	movi      	r6, 240
    1b78:	9100      	ld.w      	r0, (r1, 0x0)
    1b7a:	9020      	ld.w      	r1, (r0, 0x0)
    1b7c:	6859      	andn      	r1, r6
    1b7e:	39a4      	bseti      	r1, 4
    1b80:	39a6      	bseti      	r1, 6
    1b82:	07b9      	br      	0x1af4	// 1af4 <I2C_Slave_CONFIG+0x50>
    else if(I2C_SCL_IO==I2C_SCL_PA04)
    1b84:	3943      	cmpnei      	r1, 3
    1b86:	080a      	bt      	0x1b9a	// 1b9a <I2C_Slave_CONFIG+0xf6>
     GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF0FFFF)  | 0x00060000;            //PA0.4->SCL   //
    1b88:	1032      	lrw      	r1, 0x2000004c	// 1bd0 <I2C_Slave_CONFIG+0x12c>
    1b8a:	36f0      	movi      	r6, 240
    1b8c:	9100      	ld.w      	r0, (r1, 0x0)
    1b8e:	9020      	ld.w      	r1, (r0, 0x0)
    1b90:	46cc      	lsli      	r6, r6, 12
    1b92:	6859      	andn      	r1, r6
    1b94:	39b1      	bseti      	r1, 17
    1b96:	39b2      	bseti      	r1, 18
    1b98:	07ae      	br      	0x1af4	// 1af4 <I2C_Slave_CONFIG+0x50>
	else if(I2C_SCL_IO==I2C_SCL_PA06)
    1b9a:	3944      	cmpnei      	r1, 4
    1b9c:	080a      	bt      	0x1bb0	// 1bb0 <I2C_Slave_CONFIG+0x10c>
    GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF)  | 0x06000000;            //PA0.6->SCL  
    1b9e:	102d      	lrw      	r1, 0x2000004c	// 1bd0 <I2C_Slave_CONFIG+0x12c>
    1ba0:	36f0      	movi      	r6, 240
    1ba2:	9100      	ld.w      	r0, (r1, 0x0)
    1ba4:	9020      	ld.w      	r1, (r0, 0x0)
    1ba6:	46d4      	lsli      	r6, r6, 20
    1ba8:	6859      	andn      	r1, r6
    1baa:	39b9      	bseti      	r1, 25
    1bac:	39ba      	bseti      	r1, 26
    1bae:	07a3      	br      	0x1af4	// 1af4 <I2C_Slave_CONFIG+0x50>
	else if(I2C_SCL_IO==I2C_SCL_PA015)
    1bb0:	3945      	cmpnei      	r1, 5
    1bb2:	0ba2      	bt      	0x1af6	// 1af6 <I2C_Slave_CONFIG+0x52>
    GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF)  | 0x60000000;            //PA0.15->SCL  
    1bb4:	1027      	lrw      	r1, 0x2000004c	// 1bd0 <I2C_Slave_CONFIG+0x12c>
    1bb6:	9100      	ld.w      	r0, (r1, 0x0)
    1bb8:	9021      	ld.w      	r1, (r0, 0x4)
    1bba:	4124      	lsli      	r1, r1, 4
    1bbc:	4924      	lsri      	r1, r1, 4
    1bbe:	39bd      	bseti      	r1, 29
    1bc0:	39be      	bseti      	r1, 30
    1bc2:	b021      	st.w      	r1, (r0, 0x4)
    1bc4:	0799      	br      	0x1af6	// 1af6 <I2C_Slave_CONFIG+0x52>
	else if(SPEEDMODE==STANDARD_MODE)
    1bc6:	3a42      	cmpnei      	r2, 2
    1bc8:	0ba8      	bt      	0x1b18	// 1b18 <I2C_Slave_CONFIG+0x74>
		I2C0->SS_SCLH  = SS_SCLHX;  							//SCL high time
    1bca:	b1a5      	st.w      	r5, (r1, 0x14)
		I2C0->SS_SCLL  = SS_SCLLX;  							//SCL low  time
    1bcc:	b186      	st.w      	r4, (r1, 0x18)
}
    1bce:	07a5      	br      	0x1b18	// 1b18 <I2C_Slave_CONFIG+0x74>
    1bd0:	2000004c 	.long	0x2000004c
    1bd4:	20000048 	.long	0x20000048
    1bd8:	20000030 	.long	0x20000030
    1bdc:	00000fff 	.long	0x00000fff

Disassembly of section .text.I2C_SDA_TSETUP_THOLD_CONFIG:

00001be0 <I2C_SDA_TSETUP_THOLD_CONFIG>:
//ReturnValue:NONE
/*************************************************************/
void I2C_SDA_TSETUP_THOLD_CONFIG(U8_T SDA_TSETUP , U8_T SDA_RX_THOLD , U16_T SDA_TX_THOLD)
{
	I2C0->SDA_TSETUP=SDA_TSETUP;
	I2C0->SDA_THOLD=(SDA_RX_THOLD<<16)|SDA_TX_THOLD;
    1be0:	4130      	lsli      	r1, r1, 16
	I2C0->SDA_TSETUP=SDA_TSETUP;
    1be2:	1064      	lrw      	r3, 0x20000030	// 1bf0 <I2C_SDA_TSETUP_THOLD_CONFIG+0x10>
	I2C0->SDA_THOLD=(SDA_RX_THOLD<<16)|SDA_TX_THOLD;
    1be4:	6c84      	or      	r2, r1
	I2C0->SDA_TSETUP=SDA_TSETUP;
    1be6:	9360      	ld.w      	r3, (r3, 0x0)
    1be8:	b312      	st.w      	r0, (r3, 0x48)
	I2C0->SDA_THOLD=(SDA_RX_THOLD<<16)|SDA_TX_THOLD;
    1bea:	b353      	st.w      	r2, (r3, 0x4c)
}
    1bec:	783c      	jmp      	r15
    1bee:	0000      	bkpt
    1bf0:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_ConfigInterrupt_CMD:

00001bf4 <I2C_ConfigInterrupt_CMD>:
//				 I2C_RESTART_DET,I2C_MST_ON_HOLD,I2C_SCL_SLOW   
//NewState:ENABLE/DISABLE
//ReturnValue:NONE
/*************************************************************/
void I2C_ConfigInterrupt_CMD(FunctionalStatus NewState,U32_T INT_TYPE)
{
    1bf4:	1066      	lrw      	r3, 0x20000030	// 1c0c <I2C_ConfigInterrupt_CMD+0x18>
	if(NewState != DISABLE)
    1bf6:	3840      	cmpnei      	r0, 0
	{
		I2C0->IMSCR |= INT_TYPE;
    1bf8:	9340      	ld.w      	r2, (r3, 0x0)
    1bfa:	9277      	ld.w      	r3, (r2, 0x5c)
	if(NewState != DISABLE)
    1bfc:	0c04      	bf      	0x1c04	// 1c04 <I2C_ConfigInterrupt_CMD+0x10>
		I2C0->IMSCR |= INT_TYPE;
    1bfe:	6c4c      	or      	r1, r3
    1c00:	b237      	st.w      	r1, (r2, 0x5c)
	}
	else
	{
		I2C0->IMSCR &= (~INT_TYPE);
	}
}
    1c02:	783c      	jmp      	r15
		I2C0->IMSCR &= (~INT_TYPE);
    1c04:	68c5      	andn      	r3, r1
    1c06:	b277      	st.w      	r3, (r2, 0x5c)
}
    1c08:	07fd      	br      	0x1c02	// 1c02 <I2C_ConfigInterrupt_CMD+0xe>
    1c0a:	0000      	bkpt
    1c0c:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_FIFO_TriggerData:

00001c10 <I2C_FIFO_TriggerData>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_FIFO_TriggerData(U16_T RX_FLSEL,U16_T TX_FLSEL)
{
	I2C0->RX_FLSEL = RX_FLSEL;  							
    1c10:	1063      	lrw      	r3, 0x20000030	// 1c1c <I2C_FIFO_TriggerData+0xc>
    1c12:	9360      	ld.w      	r3, (r3, 0x0)
    1c14:	b30b      	st.w      	r0, (r3, 0x2c)
	I2C0->TX_FLSEL = TX_FLSEL;  							
    1c16:	b32c      	st.w      	r1, (r3, 0x30)
}
    1c18:	783c      	jmp      	r15
    1c1a:	0000      	bkpt
    1c1c:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_Enable:

00001c20 <I2C_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_Enable(void)
{
	I2C0->ENABLE = (I2C0->ENABLE&0XFFFFFFFE)|I2C_ENABLE;                         //Enable I2C
    1c20:	1065      	lrw      	r3, 0x20000030	// 1c34 <I2C_Enable+0x14>
    1c22:	9360      	ld.w      	r3, (r3, 0x0)
    1c24:	934f      	ld.w      	r2, (r3, 0x3c)
    1c26:	3aa0      	bseti      	r2, 0
    1c28:	b34f      	st.w      	r2, (r3, 0x3c)
	while((I2C0->STATUS&0x1000)!=0x1000);
    1c2a:	9350      	ld.w      	r2, (r3, 0x40)
    1c2c:	3acc      	btsti      	r2, 12
    1c2e:	0ffe      	bf      	0x1c2a	// 1c2a <I2C_Enable+0xa>
}
    1c30:	783c      	jmp      	r15
    1c32:	0000      	bkpt
    1c34:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_Disable:

00001c38 <I2C_Disable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_Disable(void)
{
	I2C0->ENABLE =(I2C0->ENABLE&0XFFFFFFFE)|I2C_DISABLE;                         //Disable I2C
    1c38:	1065      	lrw      	r3, 0x20000030	// 1c4c <I2C_Disable+0x14>
    1c3a:	9360      	ld.w      	r3, (r3, 0x0)
    1c3c:	934f      	ld.w      	r2, (r3, 0x3c)
    1c3e:	3a80      	bclri      	r2, 0
    1c40:	b34f      	st.w      	r2, (r3, 0x3c)
	while((I2C0->STATUS&0x1000)==0x1000);
    1c42:	9350      	ld.w      	r2, (r3, 0x40)
    1c44:	3acc      	btsti      	r2, 12
    1c46:	0bfe      	bt      	0x1c42	// 1c42 <I2C_Disable+0xa>
}
    1c48:	783c      	jmp      	r15
    1c4a:	0000      	bkpt
    1c4c:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_Int_Enable:

00001c50 <I2C_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_Int_Enable(void)
{
	INTC_ISER_WRITE(I2C_INT);                             //Enable I2C interrupt
    1c50:	3380      	movi      	r3, 128
    1c52:	436a      	lsli      	r3, r3, 10
    1c54:	1042      	lrw      	r2, 0xe000e100	// 1c5c <I2C_Int_Enable+0xc>
    1c56:	b260      	st.w      	r3, (r2, 0x0)
}
    1c58:	783c      	jmp      	r15
    1c5a:	0000      	bkpt
    1c5c:	e000e100 	.long	0xe000e100

Disassembly of section .text.I2C_Slave_Receive:

00001c60 <I2C_Slave_Receive>:
//I2C slave Receive
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_Slave_Receive(void)
{
    1c60:	14d2      	push      	r4-r5, r15
	
	if(!(((I2C0->MISR&I2C_SCL_SLOW)==I2C_SCL_SLOW)
    1c62:	1290      	lrw      	r4, 0x20000030	// 1da0 <I2C_Slave_Receive+0x140>
    1c64:	9460      	ld.w      	r3, (r4, 0x0)
    1c66:	9356      	ld.w      	r2, (r3, 0x58)
    1c68:	3ace      	btsti      	r2, 14
    1c6a:	088b      	bt      	0x1d80	// 1d80 <I2C_Slave_Receive+0x120>
			||((I2C0->MISR&I2C_TX_ABRT)==I2C_TX_ABRT)))				 //SCLK锁死,IIC发送中止))
    1c6c:	9356      	ld.w      	r2, (r3, 0x58)
	if(!(((I2C0->MISR&I2C_SCL_SLOW)==I2C_SCL_SLOW)
    1c6e:	3ac6      	btsti      	r2, 6
    1c70:	0888      	bt      	0x1d80	// 1d80 <I2C_Slave_Receive+0x120>
	{
	if((I2C0->MISR&I2C_RX_FULL)==I2C_RX_FULL)        //有接收到数据
    1c72:	9356      	ld.w      	r2, (r3, 0x58)
    1c74:	3ac2      	btsti      	r2, 2
    1c76:	0c14      	bf      	0x1c9e	// 1c9e <I2C_Slave_Receive+0x3e>
	{
		if(RdIndex==0)
    1c78:	122b      	lrw      	r1, 0x200000f6	// 1da4 <I2C_Slave_Receive+0x144>
    1c7a:	8141      	ld.b      	r2, (r1, 0x1)
    1c7c:	3a40      	cmpnei      	r2, 0
    1c7e:	124b      	lrw      	r2, 0x20000365	// 1da8 <I2C_Slave_Receive+0x148>
    1c80:	084b      	bt      	0x1d16	// 1d16 <I2C_Slave_Receive+0xb6>
		{
			RdIndex=1;
    1c82:	3001      	movi      	r0, 1
    1c84:	a101      	st.b      	r0, (r1, 0x1)
			I2C_Data_Adress=I2C0->DATA_CMD&0XFF;
    1c86:	9324      	ld.w      	r1, (r3, 0x10)
    1c88:	7444      	zextb      	r1, r1
    1c8a:	a220      	st.b      	r1, (r2, 0x0)
			I2C_St_Adress=I2C_Data_Adress;
    1c8c:	8240      	ld.b      	r2, (r2, 0x0)
    1c8e:	7488      	zextb      	r2, r2
    1c90:	1227      	lrw      	r1, 0x20000344	// 1dac <I2C_Slave_Receive+0x14c>
    1c92:	a140      	st.b      	r2, (r1, 0x0)
			{
				I2CRdBuffer[I2C_Data_Adress]= I2C0->DATA_CMD&0XFF;
			}
			I2C_Data_Adress++;
		}
		I2C0->ICR = I2C_RX_FULL;
    1c94:	3204      	movi      	r2, 4
    1c96:	b359      	st.w      	r2, (r3, 0x64)
		R_IIC_ERROR_CONT=0;
    1c98:	3200      	movi      	r2, 0
    1c9a:	1266      	lrw      	r3, 0x20000340	// 1db0 <I2C_Slave_Receive+0x150>
    1c9c:	b340      	st.w      	r2, (r3, 0x0)
	}
		
	if((I2C0->MISR&I2C_RD_REQ)==I2C_RD_REQ)			//读请求产生
    1c9e:	9460      	ld.w      	r3, (r4, 0x0)
    1ca0:	9356      	ld.w      	r2, (r3, 0x58)
    1ca2:	3ac5      	btsti      	r2, 5
    1ca4:	0c1d      	bf      	0x1cde	// 1cde <I2C_Slave_Receive+0x7e>
	{
		if(RdIndex==1)
    1ca6:	1220      	lrw      	r1, 0x200000f6	// 1da4 <I2C_Slave_Receive+0x144>
    1ca8:	8141      	ld.b      	r2, (r1, 0x1)
    1caa:	3a41      	cmpnei      	r2, 1
    1cac:	0814      	bt      	0x1cd4	// 1cd4 <I2C_Slave_Receive+0x74>
		{
			RdIndex=2;
    1cae:	3202      	movi      	r2, 2
    1cb0:	a141      	st.b      	r2, (r1, 0x1)
			WrIndex = I2C_St_Adress;
    1cb2:	115f      	lrw      	r2, 0x20000344	// 1dac <I2C_Slave_Receive+0x14c>
    1cb4:	8240      	ld.b      	r2, (r2, 0x0)
    1cb6:	7488      	zextb      	r2, r2
    1cb8:	a142      	st.b      	r2, (r1, 0x2)
			//I2C_ConfigInterrupt_CMD(ENABLE,I2C_TX_EMPTY);
			if(WrIndex<BUFSIZE)
    1cba:	8142      	ld.b      	r2, (r1, 0x2)
    1cbc:	7488      	zextb      	r2, r2
    1cbe:	3a1f      	cmphsi      	r2, 32
    1cc0:	080a      	bt      	0x1cd4	// 1cd4 <I2C_Slave_Receive+0x74>
			{
				I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00) |I2CWrBuffer[WrIndex];
    1cc2:	9344      	ld.w      	r2, (r3, 0x10)
    1cc4:	8122      	ld.b      	r1, (r1, 0x2)
    1cc6:	111c      	lrw      	r0, 0x20000345	// 1db4 <I2C_Slave_Receive+0x154>
    1cc8:	6040      	addu      	r1, r0
    1cca:	30ff      	movi      	r0, 255
    1ccc:	8120      	ld.b      	r1, (r1, 0x0)
    1cce:	6881      	andn      	r2, r0
    1cd0:	6c84      	or      	r2, r1
    1cd2:	b344      	st.w      	r2, (r3, 0x10)
			}	
		}	
		I2C0->ICR = I2C_RD_REQ;
    1cd4:	3220      	movi      	r2, 32
    1cd6:	b359      	st.w      	r2, (r3, 0x64)
		R_IIC_ERROR_CONT=0;
    1cd8:	3100      	movi      	r1, 0
    1cda:	1156      	lrw      	r2, 0x20000340	// 1db0 <I2C_Slave_Receive+0x150>
    1cdc:	b220      	st.w      	r1, (r2, 0x0)
	} 
                         
	if((I2C0->MISR&I2C_TX_EMPTY)==I2C_TX_EMPTY)				//IIC发送为空
    1cde:	9356      	ld.w      	r2, (r3, 0x58)
    1ce0:	3ac4      	btsti      	r2, 4
    1ce2:	0c3d      	bf      	0x1d5c	// 1d5c <I2C_Slave_Receive+0xfc>
	{
		if(RdIndex==2)
    1ce4:	1150      	lrw      	r2, 0x200000f6	// 1da4 <I2C_Slave_Receive+0x144>
    1ce6:	8221      	ld.b      	r1, (r2, 0x1)
    1ce8:	3942      	cmpnei      	r1, 2
    1cea:	0825      	bt      	0x1d34	// 1d34 <I2C_Slave_Receive+0xd4>
		{
			if(WrIndex+1<BUFSIZE)
    1cec:	8222      	ld.b      	r1, (r2, 0x2)
    1cee:	7444      	zextb      	r1, r1
    1cf0:	393e      	cmplti      	r1, 31
    1cf2:	0c0a      	bf      	0x1d06	// 1d06 <I2C_Slave_Receive+0xa6>
			{
				I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00) |I2CWrBuffer[WrIndex+1];
    1cf4:	9324      	ld.w      	r1, (r3, 0x10)
    1cf6:	11b1      	lrw      	r5, 0x20000346	// 1db8 <I2C_Slave_Receive+0x158>
    1cf8:	8202      	ld.b      	r0, (r2, 0x2)
    1cfa:	6014      	addu      	r0, r5
    1cfc:	35ff      	movi      	r5, 255
    1cfe:	8000      	ld.b      	r0, (r0, 0x0)
    1d00:	6855      	andn      	r1, r5
    1d02:	6c40      	or      	r1, r0
    1d04:	b324      	st.w      	r1, (r3, 0x10)
			}
			WrIndex++;
    1d06:	8262      	ld.b      	r3, (r2, 0x2)
    1d08:	2300      	addi      	r3, 1
    1d0a:	74cc      	zextb      	r3, r3
    1d0c:	a262      	st.b      	r3, (r2, 0x2)
			else
			{
				R_IIC_ERROR_CONT++;
			}
		}
		I2C0->CR = I2C_TX_EMPTY;
    1d0e:	9460      	ld.w      	r3, (r4, 0x0)
    1d10:	3210      	movi      	r2, 16
		I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00);
		I2C_SLAVE_CONFIG(); 
		RdIndex=0;	
		//I2C_ConfigInterrupt_CMD(ENABLE,I2C_TX_EMPTY);				
		I2C0->ICR = I2C_SCL_SLOW|I2C_TX_ABRT;
		R_IIC_ERROR_CONT=0;
    1d12:	b340      	st.w      	r2, (r3, 0x0)
	
}
}
    1d14:	1492      	pop      	r4-r5, r15
			if(I2C_Data_Adress<BUFSIZE)
    1d16:	8220      	ld.b      	r1, (r2, 0x0)
    1d18:	7444      	zextb      	r1, r1
    1d1a:	391f      	cmphsi      	r1, 32
    1d1c:	0807      	bt      	0x1d2a	// 1d2a <I2C_Slave_Receive+0xca>
				I2CRdBuffer[I2C_Data_Adress]= I2C0->DATA_CMD&0XFF;
    1d1e:	8220      	ld.b      	r1, (r2, 0x0)
    1d20:	11a7      	lrw      	r5, 0x20000366	// 1dbc <I2C_Slave_Receive+0x15c>
    1d22:	6054      	addu      	r1, r5
    1d24:	9304      	ld.w      	r0, (r3, 0x10)
    1d26:	7400      	zextb      	r0, r0
    1d28:	a100      	st.b      	r0, (r1, 0x0)
			I2C_Data_Adress++;
    1d2a:	8220      	ld.b      	r1, (r2, 0x0)
    1d2c:	2100      	addi      	r1, 1
    1d2e:	7444      	zextb      	r1, r1
    1d30:	a220      	st.b      	r1, (r2, 0x0)
    1d32:	07b1      	br      	0x1c94	// 1c94 <I2C_Slave_Receive+0x34>
			if(R_IIC_ERROR_CONT>10000)
    1d34:	10bf      	lrw      	r5, 0x20000340	// 1db0 <I2C_Slave_Receive+0x150>
    1d36:	1163      	lrw      	r3, 0x2710	// 1dc0 <I2C_Slave_Receive+0x160>
    1d38:	9540      	ld.w      	r2, (r5, 0x0)
    1d3a:	648c      	cmphs      	r3, r2
    1d3c:	080d      	bt      	0x1d56	// 1d56 <I2C_Slave_Receive+0xf6>
				I2C_Disable();
    1d3e:	e3ffff7d 	bsr      	0x1c38	// 1c38 <I2C_Disable>
				I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00);
    1d42:	9440      	ld.w      	r2, (r4, 0x0)
    1d44:	9264      	ld.w      	r3, (r2, 0x10)
    1d46:	31ff      	movi      	r1, 255
    1d48:	68c5      	andn      	r3, r1
    1d4a:	b264      	st.w      	r3, (r2, 0x10)
				I2C_SLAVE_CONFIG();
    1d4c:	e00002f6 	bsr      	0x2338	// 2338 <I2C_SLAVE_CONFIG>
				R_IIC_ERROR_CONT=0;
    1d50:	3300      	movi      	r3, 0
				R_IIC_ERROR_CONT++;
    1d52:	b560      	st.w      	r3, (r5, 0x0)
    1d54:	07dd      	br      	0x1d0e	// 1d0e <I2C_Slave_Receive+0xae>
    1d56:	9560      	ld.w      	r3, (r5, 0x0)
    1d58:	2300      	addi      	r3, 1
    1d5a:	07fc      	br      	0x1d52	// 1d52 <I2C_Slave_Receive+0xf2>
	else if((I2C0->MISR&I2C_STOP_DET)==I2C_STOP_DET)
    1d5c:	9336      	ld.w      	r1, (r3, 0x58)
    1d5e:	3280      	movi      	r2, 128
    1d60:	39c9      	btsti      	r1, 9
    1d62:	4242      	lsli      	r2, r2, 2
    1d64:	0fd8      	bf      	0x1d14	// 1d14 <I2C_Slave_Receive+0xb4>
		I2C0->ICR =I2C_STOP_DET;
    1d66:	b359      	st.w      	r2, (r3, 0x64)
		if(RdIndex!=0)
    1d68:	104f      	lrw      	r2, 0x200000f6	// 1da4 <I2C_Slave_Receive+0x144>
    1d6a:	8221      	ld.b      	r1, (r2, 0x1)
    1d6c:	3940      	cmpnei      	r1, 0
    1d6e:	0c03      	bf      	0x1d74	// 1d74 <I2C_Slave_Receive+0x114>
			RdIndex=0;
    1d70:	3100      	movi      	r1, 0
    1d72:	a221      	st.b      	r1, (r2, 0x1)
		R_READ_BUF=I2C0->DATA_CMD&0XFF;
    1d74:	9364      	ld.w      	r3, (r3, 0x10)
    1d76:	74cc      	zextb      	r3, r3
    1d78:	aa62      	st.h      	r3, (r2, 0x4)
		R_IIC_ERROR_CONT=0;
    1d7a:	3200      	movi      	r2, 0
    1d7c:	106d      	lrw      	r3, 0x20000340	// 1db0 <I2C_Slave_Receive+0x150>
    1d7e:	07ca      	br      	0x1d12	// 1d12 <I2C_Slave_Receive+0xb2>
		I2C_Disable();
    1d80:	e3ffff5c 	bsr      	0x1c38	// 1c38 <I2C_Disable>
		I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00);
    1d84:	9440      	ld.w      	r2, (r4, 0x0)
    1d86:	9264      	ld.w      	r3, (r2, 0x10)
    1d88:	31ff      	movi      	r1, 255
    1d8a:	68c5      	andn      	r3, r1
    1d8c:	b264      	st.w      	r3, (r2, 0x10)
		I2C_SLAVE_CONFIG(); 
    1d8e:	e00002d5 	bsr      	0x2338	// 2338 <I2C_SLAVE_CONFIG>
		RdIndex=0;	
    1d92:	1065      	lrw      	r3, 0x200000f6	// 1da4 <I2C_Slave_Receive+0x144>
    1d94:	3200      	movi      	r2, 0
    1d96:	a341      	st.b      	r2, (r3, 0x1)
		I2C0->ICR = I2C_SCL_SLOW|I2C_TX_ABRT;
    1d98:	9460      	ld.w      	r3, (r4, 0x0)
    1d9a:	104b      	lrw      	r2, 0x4040	// 1dc4 <I2C_Slave_Receive+0x164>
    1d9c:	b359      	st.w      	r2, (r3, 0x64)
    1d9e:	07ee      	br      	0x1d7a	// 1d7a <I2C_Slave_Receive+0x11a>
    1da0:	20000030 	.long	0x20000030
    1da4:	200000f6 	.long	0x200000f6
    1da8:	20000365 	.long	0x20000365
    1dac:	20000344 	.long	0x20000344
    1db0:	20000340 	.long	0x20000340
    1db4:	20000345 	.long	0x20000345
    1db8:	20000346 	.long	0x20000346
    1dbc:	20000366 	.long	0x20000366
    1dc0:	00002710 	.long	0x00002710
    1dc4:	00004040 	.long	0x00004040

Disassembly of section .text.ADC12_RESET_VALUE:

00001dc8 <ADC12_RESET_VALUE>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void ADC12_RESET_VALUE(void)
{
	 ADC0->ECR	=	ADC_ECR_RST;     				/**< ECR  reset value  */
    1dc8:	107a      	lrw      	r3, 0x20000050	// 1e30 <ADC12_RESET_VALUE+0x68>
	 ADC0->DCR	=	ADC_DCR_RST;                  	/**< DCR  reset value  */
	 ADC0->PMSR	= 	ADC_PMSR_RST;       		  	/**< PMSR reset value  */
	 ADC0->CR	=	ADC_CR_RST;             		/**< CR   reset value  */
    1dca:	3180      	movi      	r1, 128
	 ADC0->ECR	=	ADC_ECR_RST;     				/**< ECR  reset value  */
    1dcc:	9360      	ld.w      	r3, (r3, 0x0)
    1dce:	3200      	movi      	r2, 0
	 ADC0->CR	=	ADC_CR_RST;             		/**< CR   reset value  */
    1dd0:	4138      	lsli      	r1, r1, 24
	 ADC0->ECR	=	ADC_ECR_RST;     				/**< ECR  reset value  */
    1dd2:	b340      	st.w      	r2, (r3, 0x0)
	 ADC0->DCR	=	ADC_DCR_RST;                  	/**< DCR  reset value  */
    1dd4:	b341      	st.w      	r2, (r3, 0x4)
	 ADC0->PMSR	= 	ADC_PMSR_RST;       		  	/**< PMSR reset value  */
    1dd6:	b342      	st.w      	r2, (r3, 0x8)
	 ADC0->CR	=	ADC_CR_RST;             		/**< CR   reset value  */
    1dd8:	b324      	st.w      	r1, (r3, 0x10)
	 ADC0->CSR	=   ADC_CSR_RST;                  	/**< CSR  reset value  */
	 ADC0->SR 	=	ADC_SR_RST;                   	/**< SR   reset value  */
	 ADC0->IER 	=	ADC_IER_RST;                	/**< IER  reset value  */
	 ADC0->IDR 	=	ADC_IDR_RST;              		/**< IDR  reset value  */
	 ADC0->IMR  	=	ADC_IMR_RST;               		/**< IMR  reset value  */
	 ADC0->SEQ[0]=	ADC_SEQx_RST;             		/**< SEQ0  reset value */
    1dda:	3180      	movi      	r1, 128
	 ADC0->MR	=   ADC_MR_RST;                  	/**< MR   reset value  */
    1ddc:	b345      	st.w      	r2, (r3, 0x14)
	 ADC0->CSR	=   ADC_CSR_RST;                  	/**< CSR  reset value  */
    1dde:	b347      	st.w      	r2, (r3, 0x1c)
	 ADC0->SR 	=	ADC_SR_RST;                   	/**< SR   reset value  */
    1de0:	b348      	st.w      	r2, (r3, 0x20)
	 ADC0->IER 	=	ADC_IER_RST;                	/**< IER  reset value  */
    1de2:	b349      	st.w      	r2, (r3, 0x24)
	 ADC0->IDR 	=	ADC_IDR_RST;              		/**< IDR  reset value  */
    1de4:	b34a      	st.w      	r2, (r3, 0x28)
	 ADC0->IMR  	=	ADC_IMR_RST;               		/**< IMR  reset value  */
    1de6:	b34b      	st.w      	r2, (r3, 0x2c)
	 ADC0->SEQ[0]=	ADC_SEQx_RST;             		/**< SEQ0  reset value */
    1de8:	b32c      	st.w      	r1, (r3, 0x30)
	 ADC0->SEQ[1]=	ADC_SEQx_RST;             		/**< SEQ1  reset value */
    1dea:	b32d      	st.w      	r1, (r3, 0x34)
	 ADC0->SEQ[2]=	ADC_SEQx_RST;             		/**< SEQ2  reset value */
    1dec:	b32e      	st.w      	r1, (r3, 0x38)
	 ADC0->SEQ[3]=	ADC_SEQx_RST;             		/**< SEQ3  reset value */
    1dee:	b32f      	st.w      	r1, (r3, 0x3c)
	 ADC0->SEQ[4]=	ADC_SEQx_RST;             		/**< SEQ4  reset value */
    1df0:	b330      	st.w      	r1, (r3, 0x40)
	 ADC0->SEQ[5]=	ADC_SEQx_RST;             		/**< SEQ5  reset value */
    1df2:	b331      	st.w      	r1, (r3, 0x44)
	 ADC0->SEQ[6]=	ADC_SEQx_RST;             		/**< SEQ6  reset value */
    1df4:	b332      	st.w      	r1, (r3, 0x48)
	 ADC0->SEQ[7]=	ADC_SEQx_RST;             		/**< SEQ7  reset value */
    1df6:	b333      	st.w      	r1, (r3, 0x4c)
	 ADC0->SEQ[8]=	ADC_SEQx_RST;             		/**< SEQ8  reset value */
    1df8:	b334      	st.w      	r1, (r3, 0x50)
	 ADC0->SEQ[9]=	ADC_SEQx_RST;             		/**< SEQ9  reset value */
    1dfa:	b335      	st.w      	r1, (r3, 0x54)
	 ADC0->SEQ[10]=	ADC_SEQx_RST;             		/**< SEQ10  reset value */
    1dfc:	b336      	st.w      	r1, (r3, 0x58)
	 ADC0->SEQ[11]=	ADC_SEQx_RST;             		/**< SEQ11  reset value */
    1dfe:	b337      	st.w      	r1, (r3, 0x5c)
	 ADC0->SEQ[12]=	ADC_SEQx_RST;             		/**< SEQ12  reset value */
    1e00:	b338      	st.w      	r1, (r3, 0x60)
	 ADC0->SEQ[13]=	ADC_SEQx_RST;             		/**< SEQ13  reset value */
    1e02:	b339      	st.w      	r1, (r3, 0x64)
	 ADC0->SEQ[14]=	ADC_SEQx_RST;             		/**< SEQ14  reset value */
    1e04:	b33a      	st.w      	r1, (r3, 0x68)
	 ADC0->SEQ[15]=	ADC_SEQx_RST;             		/**< SEQ15  reset value */
    1e06:	b33b      	st.w      	r1, (r3, 0x6c)
	 ADC0->DR[0]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e08:	23ff      	addi      	r3, 256
    1e0a:	b340      	st.w      	r2, (r3, 0x0)
	 ADC0->DR[1]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e0c:	b341      	st.w      	r2, (r3, 0x4)
	 ADC0->DR[2]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e0e:	b342      	st.w      	r2, (r3, 0x8)
	 ADC0->DR[3]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e10:	b343      	st.w      	r2, (r3, 0xc)
	 ADC0->DR[4]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e12:	b344      	st.w      	r2, (r3, 0x10)
	 ADC0->DR[5]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e14:	b345      	st.w      	r2, (r3, 0x14)
	 ADC0->DR[6]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e16:	b346      	st.w      	r2, (r3, 0x18)
	 ADC0->DR[7]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e18:	b347      	st.w      	r2, (r3, 0x1c)
	 ADC0->DR[8]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e1a:	b348      	st.w      	r2, (r3, 0x20)
	 ADC0->DR[9]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e1c:	b349      	st.w      	r2, (r3, 0x24)
	 ADC0->DR[10]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e1e:	b34a      	st.w      	r2, (r3, 0x28)
	 ADC0->DR[11]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e20:	b34b      	st.w      	r2, (r3, 0x2c)
	 ADC0->DR[12]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e22:	b34c      	st.w      	r2, (r3, 0x30)
	 ADC0->DR[13]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e24:	b34d      	st.w      	r2, (r3, 0x34)
	 ADC0->DR[14]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e26:	b34e      	st.w      	r2, (r3, 0x38)
	 ADC0->DR[15]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1e28:	b34f      	st.w      	r2, (r3, 0x3c)
	 ADC0->CMP0   =	ADC_CMP0_RST;               	/**< CMP1 reset value  */
    1e2a:	b350      	st.w      	r2, (r3, 0x40)
	 ADC0->CMP1   =	ADC_CMP1_RST;                	/**< CMP2 reset value  */
    1e2c:	b351      	st.w      	r2, (r3, 0x44)
}  
    1e2e:	783c      	jmp      	r15
    1e30:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Control:

00001e34 <ADC12_Control>:
//ReturnValue:NONE
/*************************************************************/  
  //control:ADC enable/disable ,start/stop,swrst
void ADC12_Control(ADC12_Control_TypeDef ADC12_Control_x )
{
	ADC0->CR |= ADC12_Control_x;							// 
    1e34:	1063      	lrw      	r3, 0x20000050	// 1e40 <ADC12_Control+0xc>
    1e36:	9340      	ld.w      	r2, (r3, 0x0)
    1e38:	9264      	ld.w      	r3, (r2, 0x10)
    1e3a:	6c0c      	or      	r0, r3
    1e3c:	b204      	st.w      	r0, (r2, 0x10)
}
    1e3e:	783c      	jmp      	r15
    1e40:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_CMD.part.0:

00001e44 <ADC12_CMD.part.0>:
//ADC12 ENABLE
//EntryParameter:NewState
//NewState:ENABLE , DISABLE
//ReturnValue:NONE
/*************************************************************/ 
void ADC12_CMD(FunctionalStatus NewState)
    1e44:	14d0      	push      	r15
{
	if (NewState != DISABLE)
	{
		ADC12_Control(ADC12_ADCEN);						//ADC12 ENABLE
    1e46:	3002      	movi      	r0, 2
    1e48:	e3fffff6 	bsr      	0x1e34	// 1e34 <ADC12_Control>
		while(!(ADC0->SR &ADC12_ADCENS));
    1e4c:	1063      	lrw      	r3, 0x20000050	// 1e58 <ADC12_CMD.part.0+0x14>
    1e4e:	9340      	ld.w      	r2, (r3, 0x0)
    1e50:	9268      	ld.w      	r3, (r2, 0x20)
    1e52:	3bc8      	btsti      	r3, 8
    1e54:	0ffe      	bf      	0x1e50	// 1e50 <ADC12_CMD.part.0+0xc>
	else
	{
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
		while(ADC0->SR&ADC12_ADCENS);
	}
}
    1e56:	1490      	pop      	r15
    1e58:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_CLK_CMD:

00001e5c <ADC12_CLK_CMD>:
	if (NewState != DISABLE)
    1e5c:	3940      	cmpnei      	r1, 0
    1e5e:	106a      	lrw      	r3, 0x20000050	// 1e84 <ADC12_CLK_CMD+0x28>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    1e60:	9340      	ld.w      	r2, (r3, 0x0)
	if (NewState != DISABLE)
    1e62:	0c09      	bf      	0x1e74	// 1e74 <ADC12_CLK_CMD+0x18>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    1e64:	9260      	ld.w      	r3, (r2, 0x0)
    1e66:	6cc0      	or      	r3, r0
    1e68:	b260      	st.w      	r3, (r2, 0x0)
		while(!(ADC0->PMSR&ADC_CLK_CMD));
    1e6a:	9262      	ld.w      	r3, (r2, 0x8)
    1e6c:	68c0      	and      	r3, r0
    1e6e:	3b40      	cmpnei      	r3, 0
    1e70:	0ffd      	bf      	0x1e6a	// 1e6a <ADC12_CLK_CMD+0xe>
}
    1e72:	783c      	jmp      	r15
		ADC0->DCR  |= ADC_CLK_CMD;						//DISABLE
    1e74:	9261      	ld.w      	r3, (r2, 0x4)
    1e76:	6cc0      	or      	r3, r0
    1e78:	b261      	st.w      	r3, (r2, 0x4)
		while(ADC0->PMSR&ADC_CLK_CMD);
    1e7a:	9262      	ld.w      	r3, (r2, 0x8)
    1e7c:	68c0      	and      	r3, r0
    1e7e:	3b40      	cmpnei      	r3, 0
    1e80:	0bfd      	bt      	0x1e7a	// 1e7a <ADC12_CLK_CMD+0x1e>
    1e82:	07f8      	br      	0x1e72	// 1e72 <ADC12_CLK_CMD+0x16>
    1e84:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Software_Reset:

00001e88 <ADC12_Software_Reset>:
{
    1e88:	14d0      	push      	r15
	ADC12_Control(ADC12_SWRST);
    1e8a:	3001      	movi      	r0, 1
    1e8c:	e3ffffd4 	bsr      	0x1e34	// 1e34 <ADC12_Control>
}
    1e90:	1490      	pop      	r15

Disassembly of section .text.ADC12_CMD:

00001e94 <ADC12_CMD>:
{
    1e94:	14d0      	push      	r15
	if (NewState != DISABLE)
    1e96:	3840      	cmpnei      	r0, 0
    1e98:	0c04      	bf      	0x1ea0	// 1ea0 <ADC12_CMD+0xc>
    1e9a:	e3ffffd5 	bsr      	0x1e44	// 1e44 <ADC12_CMD.part.0>
}
    1e9e:	1490      	pop      	r15
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
    1ea0:	3004      	movi      	r0, 4
    1ea2:	e3ffffc9 	bsr      	0x1e34	// 1e34 <ADC12_Control>
		while(ADC0->SR&ADC12_ADCENS);
    1ea6:	1064      	lrw      	r3, 0x20000050	// 1eb4 <ADC12_CMD+0x20>
    1ea8:	9340      	ld.w      	r2, (r3, 0x0)
    1eaa:	9268      	ld.w      	r3, (r2, 0x20)
    1eac:	3bc8      	btsti      	r3, 8
    1eae:	0bfe      	bt      	0x1eaa	// 1eaa <ADC12_CMD+0x16>
    1eb0:	07f7      	br      	0x1e9e	// 1e9e <ADC12_CMD+0xa>
    1eb2:	0000      	bkpt
    1eb4:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_ready_wait:

00001eb8 <ADC12_ready_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 READ FLAG
/*************************************************************/ 
void ADC12_ready_wait(void)  
{
	while(!(ADC0->SR&ADC12_READY));   					// Waiting for ADC0 Ready
    1eb8:	1063      	lrw      	r3, 0x20000050	// 1ec4 <ADC12_ready_wait+0xc>
    1eba:	9340      	ld.w      	r2, (r3, 0x0)
    1ebc:	9268      	ld.w      	r3, (r2, 0x20)
    1ebe:	3bc1      	btsti      	r3, 1
    1ec0:	0ffe      	bf      	0x1ebc	// 1ebc <ADC12_ready_wait+0x4>
}
    1ec2:	783c      	jmp      	r15
    1ec4:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_SEQEND_wait:

00001ec8 <ADC12_SEQEND_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 EOC
/*************************************************************/ 
void ADC12_SEQEND_wait(U8_T val)
{
	while(!(ADC0->SR & (0x01ul << (16+val))));			// EOC wait
    1ec8:	200f      	addi      	r0, 16
    1eca:	1065      	lrw      	r3, 0x20000050	// 1edc <ADC12_SEQEND_wait+0x14>
    1ecc:	3201      	movi      	r2, 1
    1ece:	9320      	ld.w      	r1, (r3, 0x0)
    1ed0:	7080      	lsl      	r2, r0
    1ed2:	9168      	ld.w      	r3, (r1, 0x20)
    1ed4:	68c8      	and      	r3, r2
    1ed6:	3b40      	cmpnei      	r3, 0
    1ed8:	0ffd      	bf      	0x1ed2	// 1ed2 <ADC12_SEQEND_wait+0xa>
}  
    1eda:	783c      	jmp      	r15
    1edc:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_Mode:

00001ee0 <ADC12_Configure_Mode>:
  //10BIT or 12BIT adc ;
  //ADC12_BIT_SELECTED:ADC12_12BIT/ADC12_10BIT;
  //ADC12_ConverMode:One_shot_mode/Continuous_mode;
  //adc date output=last number of Conversions;
void  ADC12_Configure_Mode(ADC12_10bitor12bit_TypeDef ADC12_BIT_SELECTED  , ADC12_ConverMode_TypeDef  ADC12_ConverMode  , U8_T ADC12_PRI, U8_T adc12_SHR , U8_T ADC12_DIV , U8_T NumConver ) 
{
    1ee0:	14d4      	push      	r4-r7, r15
    1ee2:	1422      	subi      	r14, r14, 8
    1ee4:	1c08      	addi      	r4, r14, 32
    1ee6:	84a0      	ld.b      	r5, (r4, 0x0)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    1ee8:	2d00      	subi      	r5, 1
{
    1eea:	6dc3      	mov      	r7, r0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    1eec:	10d8      	lrw      	r6, 0x20000050	// 1f4c <ADC12_Configure_Mode+0x6c>
{
    1eee:	d80e001c 	ld.b      	r0, (r14, 0x1c)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    1ef2:	45aa      	lsli      	r5, r5, 10
    1ef4:	9680      	ld.w      	r4, (r6, 0x0)
    1ef6:	6d40      	or      	r5, r0
	if(ADC12_ConverMode==One_shot_mode)
    1ef8:	3940      	cmpnei      	r1, 0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    1efa:	b4a5      	st.w      	r5, (r4, 0x14)
	if(ADC12_ConverMode==One_shot_mode)
    1efc:	0819      	bt      	0x1f2e	// 1f2e <ADC12_Configure_Mode+0x4e>
	{
		ADC0->MR&=~CONTCV;								//one short mode
    1efe:	9425      	ld.w      	r1, (r4, 0x14)
    1f00:	4121      	lsli      	r1, r1, 1
    1f02:	4921      	lsri      	r1, r1, 1
    1f04:	b425      	st.w      	r1, (r4, 0x14)
		while(ADC0->SR&ADC12_CTCVS);							
    1f06:	9428      	ld.w      	r1, (r4, 0x20)
    1f08:	39c9      	btsti      	r1, 9
    1f0a:	0bfe      	bt      	0x1f06	// 1f06 <ADC12_Configure_Mode+0x26>
    1f0c:	b861      	st.w      	r3, (r14, 0x4)
    1f0e:	b840      	st.w      	r2, (r14, 0x0)
    1f10:	e3ffff9a 	bsr      	0x1e44	// 1e44 <ADC12_CMD.part.0>
	{
		ADC0->MR|=CONTCV;								//Continuous mode
		while(!(ADC0->SR&ADC12_CTCVS));							
	}
	ADC12_CMD(ENABLE);									//ADC0 enable
	if(ADC12_BIT_SELECTED)
    1f14:	3f40      	cmpnei      	r7, 0
    1f16:	9840      	ld.w      	r2, (r14, 0x0)
    1f18:	9861      	ld.w      	r3, (r14, 0x4)
    1f1a:	0c13      	bf      	0x1f40	// 1f40 <ADC12_Configure_Mode+0x60>
	{
		ADC0->CR|=ADC12_10BITor12BIT;
    1f1c:	9600      	ld.w      	r0, (r6, 0x0)
    1f1e:	9024      	ld.w      	r1, (r0, 0x10)
    1f20:	39bf      	bseti      	r1, 31
	}
	else
	{
		ADC0->CR&=~ADC12_10BITor12BIT;
    1f22:	b024      	st.w      	r1, (r0, 0x10)
	}
	//ADC0->CR|=ADC12_VREF_VDD | ADC12_FVR_DIS;
	ADC0->PRI=ADC12_PRI;
    1f24:	9620      	ld.w      	r1, (r6, 0x0)
    1f26:	b15c      	st.w      	r2, (r1, 0x70)
	ADC0->SHR=adc12_SHR;						//采样保持周期
    1f28:	b166      	st.w      	r3, (r1, 0x18)
} 
    1f2a:	1402      	addi      	r14, r14, 8
    1f2c:	1494      	pop      	r4-r7, r15
	else if(ADC12_ConverMode==Continuous_mode)
    1f2e:	3941      	cmpnei      	r1, 1
    1f30:	0bee      	bt      	0x1f0c	// 1f0c <ADC12_Configure_Mode+0x2c>
		ADC0->MR|=CONTCV;								//Continuous mode
    1f32:	9425      	ld.w      	r1, (r4, 0x14)
    1f34:	39bf      	bseti      	r1, 31
    1f36:	b425      	st.w      	r1, (r4, 0x14)
		while(!(ADC0->SR&ADC12_CTCVS));							
    1f38:	9428      	ld.w      	r1, (r4, 0x20)
    1f3a:	39c9      	btsti      	r1, 9
    1f3c:	0ffe      	bf      	0x1f38	// 1f38 <ADC12_Configure_Mode+0x58>
    1f3e:	07e7      	br      	0x1f0c	// 1f0c <ADC12_Configure_Mode+0x2c>
		ADC0->CR&=~ADC12_10BITor12BIT;
    1f40:	9600      	ld.w      	r0, (r6, 0x0)
    1f42:	9024      	ld.w      	r1, (r0, 0x10)
    1f44:	4121      	lsli      	r1, r1, 1
    1f46:	4921      	lsri      	r1, r1, 1
    1f48:	07ed      	br      	0x1f22	// 1f22 <ADC12_Configure_Mode+0x42>
    1f4a:	0000      	bkpt
    1f4c:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_VREF_Selecte:

00001f50 <ADC12_Configure_VREF_Selecte>:
//EntryParameter:NONE
//ReturnValue:None
/*************************************************************/ 
void ADC12_Configure_VREF_Selecte(ADC12_VREFP_VREFN_Selected_TypeDef ADC12_VREFP_X_VREFN_X )
{
	if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_VDD_VREFN_VSS)
    1f50:	3840      	cmpnei      	r0, 0
    1f52:	0808      	bt      	0x1f62	// 1f62 <ADC12_Configure_VREF_Selecte+0x12>
	{
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x00<<6);
    1f54:	1277      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    1f56:	1238      	lrw      	r1, 0x30103c0	// 20b4 <ADC12_Configure_VREF_Selecte+0x164>
    1f58:	9340      	ld.w      	r2, (r3, 0x0)
    1f5a:	9264      	ld.w      	r3, (r2, 0x10)
    1f5c:	68c5      	andn      	r3, r1
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0B<<6)|(0X01<<24)|(0X01<<25);	
	}
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_EXIT)
	{
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;					
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    1f5e:	b264      	st.w      	r3, (r2, 0x10)
	}
}
    1f60:	783c      	jmp      	r15
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_EXIT_VREFN_VSS)
    1f62:	3841      	cmpnei      	r0, 1
    1f64:	0810      	bt      	0x1f84	// 1f84 <ADC12_Configure_VREF_Selecte+0x34>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    1f66:	1275      	lrw      	r3, 0x2000004c	// 20b8 <ADC12_Configure_VREF_Selecte+0x168>
    1f68:	32f0      	movi      	r2, 240
    1f6a:	9320      	ld.w      	r1, (r3, 0x0)
    1f6c:	9160      	ld.w      	r3, (r1, 0x0)
    1f6e:	4244      	lsli      	r2, r2, 4
    1f70:	68c9      	andn      	r3, r2
    1f72:	3bab      	bseti      	r3, 11
    1f74:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x01<<6);
    1f76:	1230      	lrw      	r1, 0x30103c0	// 20b4 <ADC12_Configure_VREF_Selecte+0x164>
    1f78:	126e      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    1f7a:	9340      	ld.w      	r2, (r3, 0x0)
    1f7c:	9264      	ld.w      	r3, (r2, 0x10)
    1f7e:	68c5      	andn      	r3, r1
    1f80:	3ba6      	bseti      	r3, 6
    1f82:	07ee      	br      	0x1f5e	// 1f5e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR2048_VREFN_VSS)
    1f84:	3842      	cmpnei      	r0, 2
    1f86:	0811      	bt      	0x1fa8	// 1fa8 <ADC12_Configure_VREF_Selecte+0x58>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    1f88:	126c      	lrw      	r3, 0x2000004c	// 20b8 <ADC12_Configure_VREF_Selecte+0x168>
    1f8a:	32f0      	movi      	r2, 240
    1f8c:	9320      	ld.w      	r1, (r3, 0x0)
    1f8e:	9160      	ld.w      	r3, (r1, 0x0)
    1f90:	4244      	lsli      	r2, r2, 4
    1f92:	68c9      	andn      	r3, r2
    1f94:	3bab      	bseti      	r3, 11
    1f96:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x02<<6)|(0X01<<24)|(0X00<<25);
    1f98:	1227      	lrw      	r1, 0x30103c0	// 20b4 <ADC12_Configure_VREF_Selecte+0x164>
    1f9a:	1266      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    1f9c:	9340      	ld.w      	r2, (r3, 0x0)
    1f9e:	9264      	ld.w      	r3, (r2, 0x10)
    1fa0:	68c5      	andn      	r3, r1
    1fa2:	3ba7      	bseti      	r3, 7
    1fa4:	3bb8      	bseti      	r3, 24
    1fa6:	07dc      	br      	0x1f5e	// 1f5e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR4096_VREFN_VSS)
    1fa8:	3843      	cmpnei      	r0, 3
    1faa:	0811      	bt      	0x1fcc	// 1fcc <ADC12_Configure_VREF_Selecte+0x7c>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    1fac:	1263      	lrw      	r3, 0x2000004c	// 20b8 <ADC12_Configure_VREF_Selecte+0x168>
    1fae:	32f0      	movi      	r2, 240
    1fb0:	9320      	ld.w      	r1, (r3, 0x0)
    1fb2:	9160      	ld.w      	r3, (r1, 0x0)
    1fb4:	4244      	lsli      	r2, r2, 4
    1fb6:	68c9      	andn      	r3, r2
    1fb8:	3bab      	bseti      	r3, 11
    1fba:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x03<<6)|(0X01<<24)|(0X01<<25);
    1fbc:	113e      	lrw      	r1, 0x30103c0	// 20b4 <ADC12_Configure_VREF_Selecte+0x164>
    1fbe:	117d      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    1fc0:	9340      	ld.w      	r2, (r3, 0x0)
    1fc2:	9264      	ld.w      	r3, (r2, 0x10)
    1fc4:	68c5      	andn      	r3, r1
    1fc6:	113e      	lrw      	r1, 0x30000c0	// 20bc <ADC12_Configure_VREF_Selecte+0x16c>
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    1fc8:	6cc4      	or      	r3, r1
    1fca:	07ca      	br      	0x1f5e	// 1f5e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_VSS)
    1fcc:	3845      	cmpnei      	r0, 5
    1fce:	0809      	bt      	0x1fe0	// 1fe0 <ADC12_Configure_VREF_Selecte+0x90>
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x04<<6)|(0X00<<16)|(0X02<<17);
    1fd0:	1178      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    1fd2:	113c      	lrw      	r1, 0x30503c0	// 20c0 <ADC12_Configure_VREF_Selecte+0x170>
    1fd4:	9340      	ld.w      	r2, (r3, 0x0)
    1fd6:	9264      	ld.w      	r3, (r2, 0x10)
    1fd8:	68c5      	andn      	r3, r1
    1fda:	3ba8      	bseti      	r3, 8
    1fdc:	3bb2      	bseti      	r3, 18
    1fde:	07c0      	br      	0x1f5e	// 1f5e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_VDD_VREFN_EXIT)
    1fe0:	3846      	cmpnei      	r0, 6
    1fe2:	0810      	bt      	0x2002	// 2002 <ADC12_Configure_VREF_Selecte+0xb2>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;	
    1fe4:	1175      	lrw      	r3, 0x2000004c	// 20b8 <ADC12_Configure_VREF_Selecte+0x168>
    1fe6:	32f0      	movi      	r2, 240
    1fe8:	9320      	ld.w      	r1, (r3, 0x0)
    1fea:	9160      	ld.w      	r3, (r1, 0x0)
    1fec:	4248      	lsli      	r2, r2, 8
    1fee:	68c9      	andn      	r3, r2
    1ff0:	3baf      	bseti      	r3, 15
    1ff2:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x08<<6);
    1ff4:	1130      	lrw      	r1, 0x30103c0	// 20b4 <ADC12_Configure_VREF_Selecte+0x164>
    1ff6:	116f      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    1ff8:	9340      	ld.w      	r2, (r3, 0x0)
    1ffa:	9264      	ld.w      	r3, (r2, 0x10)
    1ffc:	68c5      	andn      	r3, r1
    1ffe:	3ba9      	bseti      	r3, 9
    2000:	07af      	br      	0x1f5e	// 1f5e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_EXIT_VREFN_EXIT)
    2002:	3847      	cmpnei      	r0, 7
    2004:	0817      	bt      	0x2032	// 2032 <ADC12_Configure_VREF_Selecte+0xe2>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;
    2006:	116d      	lrw      	r3, 0x2000004c	// 20b8 <ADC12_Configure_VREF_Selecte+0x168>
    2008:	31f0      	movi      	r1, 240
    200a:	9340      	ld.w      	r2, (r3, 0x0)
    200c:	9260      	ld.w      	r3, (r2, 0x0)
    200e:	4128      	lsli      	r1, r1, 8
    2010:	68c5      	andn      	r3, r1
    2012:	3baf      	bseti      	r3, 15
    2014:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;			
    2016:	31f0      	movi      	r1, 240
    2018:	9260      	ld.w      	r3, (r2, 0x0)
    201a:	4124      	lsli      	r1, r1, 4
    201c:	68c5      	andn      	r3, r1
    201e:	3bab      	bseti      	r3, 11
    2020:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x09<<6);
    2022:	1125      	lrw      	r1, 0x30103c0	// 20b4 <ADC12_Configure_VREF_Selecte+0x164>
    2024:	1163      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    2026:	9340      	ld.w      	r2, (r3, 0x0)
    2028:	9264      	ld.w      	r3, (r2, 0x10)
    202a:	68c5      	andn      	r3, r1
    202c:	3ba6      	bseti      	r3, 6
    202e:	3ba9      	bseti      	r3, 9
    2030:	0797      	br      	0x1f5e	// 1f5e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR2048_VREFN_EXIT)
    2032:	3848      	cmpnei      	r0, 8
    2034:	0816      	bt      	0x2060	// 2060 <ADC12_Configure_VREF_Selecte+0x110>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;	
    2036:	1161      	lrw      	r3, 0x2000004c	// 20b8 <ADC12_Configure_VREF_Selecte+0x168>
    2038:	31f0      	movi      	r1, 240
    203a:	9340      	ld.w      	r2, (r3, 0x0)
    203c:	9260      	ld.w      	r3, (r2, 0x0)
    203e:	4128      	lsli      	r1, r1, 8
    2040:	68c5      	andn      	r3, r1
    2042:	3baf      	bseti      	r3, 15
    2044:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;
    2046:	31f0      	movi      	r1, 240
    2048:	9260      	ld.w      	r3, (r2, 0x0)
    204a:	4124      	lsli      	r1, r1, 4
    204c:	68c5      	andn      	r3, r1
    204e:	3bab      	bseti      	r3, 11
    2050:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0A<<6)|(0X01<<24)|(0X00<<25);			
    2052:	1039      	lrw      	r1, 0x30103c0	// 20b4 <ADC12_Configure_VREF_Selecte+0x164>
    2054:	1077      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    2056:	9340      	ld.w      	r2, (r3, 0x0)
    2058:	9264      	ld.w      	r3, (r2, 0x10)
    205a:	68c5      	andn      	r3, r1
    205c:	103a      	lrw      	r1, 0x1000280	// 20c4 <ADC12_Configure_VREF_Selecte+0x174>
    205e:	07b5      	br      	0x1fc8	// 1fc8 <ADC12_Configure_VREF_Selecte+0x78>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR4096_VREFN_EXIT)
    2060:	3849      	cmpnei      	r0, 9
    2062:	0816      	bt      	0x208e	// 208e <ADC12_Configure_VREF_Selecte+0x13e>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;	
    2064:	1075      	lrw      	r3, 0x2000004c	// 20b8 <ADC12_Configure_VREF_Selecte+0x168>
    2066:	31f0      	movi      	r1, 240
    2068:	9340      	ld.w      	r2, (r3, 0x0)
    206a:	9260      	ld.w      	r3, (r2, 0x0)
    206c:	4128      	lsli      	r1, r1, 8
    206e:	68c5      	andn      	r3, r1
    2070:	3baf      	bseti      	r3, 15
    2072:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;
    2074:	31f0      	movi      	r1, 240
    2076:	9260      	ld.w      	r3, (r2, 0x0)
    2078:	4124      	lsli      	r1, r1, 4
    207a:	68c5      	andn      	r3, r1
    207c:	3bab      	bseti      	r3, 11
    207e:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0B<<6)|(0X01<<24)|(0X01<<25);	
    2080:	102d      	lrw      	r1, 0x30103c0	// 20b4 <ADC12_Configure_VREF_Selecte+0x164>
    2082:	106c      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    2084:	9340      	ld.w      	r2, (r3, 0x0)
    2086:	9264      	ld.w      	r3, (r2, 0x10)
    2088:	68c5      	andn      	r3, r1
    208a:	1030      	lrw      	r1, 0x30002c0	// 20c8 <ADC12_Configure_VREF_Selecte+0x178>
    208c:	079e      	br      	0x1fc8	// 1fc8 <ADC12_Configure_VREF_Selecte+0x78>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_EXIT)
    208e:	384b      	cmpnei      	r0, 11
    2090:	0b68      	bt      	0x1f60	// 1f60 <ADC12_Configure_VREF_Selecte+0x10>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;					
    2092:	106a      	lrw      	r3, 0x2000004c	// 20b8 <ADC12_Configure_VREF_Selecte+0x168>
    2094:	32f0      	movi      	r2, 240
    2096:	9320      	ld.w      	r1, (r3, 0x0)
    2098:	9160      	ld.w      	r3, (r1, 0x0)
    209a:	4248      	lsli      	r2, r2, 8
    209c:	68c9      	andn      	r3, r2
    209e:	3baf      	bseti      	r3, 15
    20a0:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    20a2:	1028      	lrw      	r1, 0x30503c0	// 20c0 <ADC12_Configure_VREF_Selecte+0x170>
    20a4:	1063      	lrw      	r3, 0x20000050	// 20b0 <ADC12_Configure_VREF_Selecte+0x160>
    20a6:	9340      	ld.w      	r2, (r3, 0x0)
    20a8:	9264      	ld.w      	r3, (r2, 0x10)
    20aa:	68c5      	andn      	r3, r1
    20ac:	1028      	lrw      	r1, 0x40300	// 20cc <ADC12_Configure_VREF_Selecte+0x17c>
    20ae:	078d      	br      	0x1fc8	// 1fc8 <ADC12_Configure_VREF_Selecte+0x78>
    20b0:	20000050 	.long	0x20000050
    20b4:	030103c0 	.long	0x030103c0
    20b8:	2000004c 	.long	0x2000004c
    20bc:	030000c0 	.long	0x030000c0
    20c0:	030503c0 	.long	0x030503c0
    20c4:	01000280 	.long	0x01000280
    20c8:	030002c0 	.long	0x030002c0
    20cc:	00040300 	.long	0x00040300

Disassembly of section .text.ADC12_ConversionChannel_Config:

000020d0 <ADC12_ConversionChannel_Config>:
//ADC12_ADCINX:ADC12_ADCIN0~ADC12_ADCIN17,ADC12_INTVREF,ADC12_DIV4_VDD,ADC12_VSS
//ReturnValue:NONE
/*************************************************************/ 
void ADC12_ConversionChannel_Config(ADC12_InputSet_TypeDef ADC12_ADCINX ,
						ADC12_CV_RepeatNum_TypeDef CV_RepeatTime, ADC12_Control_TypeDef AVG_Set, U8_T SEQx)
{
    20d0:	14d4      	push      	r4-r7, r15
	switch(ADC12_ADCINX)
    20d2:	380f      	cmphsi      	r0, 16
{
    20d4:	6d83      	mov      	r6, r0
	switch(ADC12_ADCINX)
    20d6:	0824      	bt      	0x211e	// 211e <ADC12_ConversionChannel_Config+0x4e>
    20d8:	12b4      	lrw      	r5, 0x2000004c	// 2228 <ADC12_ConversionChannel_Config+0x158>
    20da:	1295      	lrw      	r4, 0x20000048	// 222c <ADC12_ConversionChannel_Config+0x15c>
    20dc:	e3fff06a 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    20e0:	322c1408 	.long	0x322c1408
    20e4:	4d474039 	.long	0x4d474039
    20e8:	756d6559 	.long	0x756d6559
    20ec:	9990877e 	.long	0x9990877e
	{
		case 0:	
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC0 PB0.1
    20f0:	9500      	ld.w      	r0, (r5, 0x0)
    20f2:	90a0      	ld.w      	r5, (r0, 0x0)
    20f4:	b0a0      	st.w      	r5, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    20f6:	90a1      	ld.w      	r5, (r0, 0x4)
    20f8:	b0a1      	st.w      	r5, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F)  | 0x00000010;			
    20fa:	9480      	ld.w      	r4, (r4, 0x0)
    20fc:	9400      	ld.w      	r0, (r4, 0x0)
    20fe:	35f0      	movi      	r5, 240
    2100:	6815      	andn      	r0, r5
    2102:	38a4      	bseti      	r0, 4
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFFF)  | 0x00000000;		
			break;
		case 15:
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC15 PB0.0
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000001;		
    2104:	b400      	st.w      	r0, (r4, 0x0)
			break;
    2106:	040c      	br      	0x211e	// 211e <ADC12_ConversionChannel_Config+0x4e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0)  | 0x00000001;							//ADC1 PA0.0
    2108:	95a0      	ld.w      	r5, (r5, 0x0)
    210a:	9500      	ld.w      	r0, (r5, 0x0)
    210c:	370f      	movi      	r7, 15
    210e:	681d      	andn      	r0, r7
    2110:	38a0      	bseti      	r0, 0
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x10000000;							//ADC6 PA0.7
    2112:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    2114:	9501      	ld.w      	r0, (r5, 0x4)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00100000;	
    2116:	b501      	st.w      	r0, (r5, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFFF)  | 0x00000000;		
    2118:	9400      	ld.w      	r0, (r4, 0x0)
    211a:	9080      	ld.w      	r4, (r0, 0x0)
    211c:	b080      	st.w      	r4, (r0, 0x0)
    211e:	1205      	lrw      	r0, 0x20000050	// 2230 <ADC12_ConversionChannel_Config+0x160>
    2120:	4362      	lsli      	r3, r3, 2
    2122:	9000      	ld.w      	r0, (r0, 0x0)
    2124:	60c0      	addu      	r3, r0
		//case 27: break;
		case 0x1Cul: break;
		case 0x1Dul: break;
		case 0x1Eul: break;
	}
	ADC0->SEQ[SEQx] = ADC0->SEQ[SEQx] & 0;
    2126:	930c      	ld.w      	r0, (r3, 0x30)
    2128:	3000      	movi      	r0, 0
    212a:	b30c      	st.w      	r0, (r3, 0x30)
	ADC0->SEQ[SEQx] = ADC0->SEQ[SEQx] | ADC12_ADCINX  | CV_RepeatTime | AVG_Set;
    212c:	6c48      	or      	r1, r2
    212e:	930c      	ld.w      	r0, (r3, 0x30)
    2130:	6c58      	or      	r1, r6
    2132:	6c40      	or      	r1, r0
    2134:	b32c      	st.w      	r1, (r3, 0x30)
}
    2136:	1494      	pop      	r4-r7, r15
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F)  | 0x00000010;							//ADC2 PA0.1
    2138:	95a0      	ld.w      	r5, (r5, 0x0)
    213a:	9500      	ld.w      	r0, (r5, 0x0)
    213c:	37f0      	movi      	r7, 240
    213e:	681d      	andn      	r0, r7
    2140:	38a4      	bseti      	r0, 4
    2142:	07e8      	br      	0x2112	// 2112 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00001000;							//ADC3 PA0.3
    2144:	95a0      	ld.w      	r5, (r5, 0x0)
    2146:	37f0      	movi      	r7, 240
    2148:	9500      	ld.w      	r0, (r5, 0x0)
    214a:	47e8      	lsli      	r7, r7, 8
    214c:	681d      	andn      	r0, r7
    214e:	38ac      	bseti      	r0, 12
    2150:	07e1      	br      	0x2112	// 2112 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00100000;							//ADC4 PA0.5
    2152:	95a0      	ld.w      	r5, (r5, 0x0)
    2154:	37f0      	movi      	r7, 240
    2156:	9500      	ld.w      	r0, (r5, 0x0)
    2158:	47f0      	lsli      	r7, r7, 16
    215a:	681d      	andn      	r0, r7
    215c:	38b4      	bseti      	r0, 20
    215e:	07da      	br      	0x2112	// 2112 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF)  | 0x01000000;							//ADC5 PA0.6
    2160:	95a0      	ld.w      	r5, (r5, 0x0)
    2162:	37f0      	movi      	r7, 240
    2164:	9500      	ld.w      	r0, (r5, 0x0)
    2166:	47f4      	lsli      	r7, r7, 20
    2168:	681d      	andn      	r0, r7
    216a:	38b8      	bseti      	r0, 24
    216c:	07d3      	br      	0x2112	// 2112 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x10000000;							//ADC6 PA0.7
    216e:	95a0      	ld.w      	r5, (r5, 0x0)
    2170:	9500      	ld.w      	r0, (r5, 0x0)
    2172:	4004      	lsli      	r0, r0, 4
    2174:	4804      	lsri      	r0, r0, 4
    2176:	38bc      	bseti      	r0, 28
    2178:	07cd      	br      	0x2112	// 2112 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC7 PB0.2
    217a:	9500      	ld.w      	r0, (r5, 0x0)
    217c:	90a0      	ld.w      	r5, (r0, 0x0)
    217e:	b0a0      	st.w      	r5, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    2180:	90a1      	ld.w      	r5, (r0, 0x4)
    2182:	b0a1      	st.w      	r5, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)  | 0x00000100;
    2184:	9480      	ld.w      	r4, (r4, 0x0)
    2186:	35f0      	movi      	r5, 240
    2188:	9400      	ld.w      	r0, (r4, 0x0)
    218a:	45a4      	lsli      	r5, r5, 4
    218c:	6815      	andn      	r0, r5
    218e:	38a8      	bseti      	r0, 8
    2190:	07ba      	br      	0x2104	// 2104 <ADC12_ConversionChannel_Config+0x34>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC8 PB0.3
    2192:	9500      	ld.w      	r0, (r5, 0x0)
    2194:	90a0      	ld.w      	r5, (r0, 0x0)
    2196:	b0a0      	st.w      	r5, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    2198:	90a1      	ld.w      	r5, (r0, 0x4)
    219a:	b0a1      	st.w      	r5, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF)  | 0x00001000;
    219c:	9480      	ld.w      	r4, (r4, 0x0)
    219e:	35f0      	movi      	r5, 240
    21a0:	9400      	ld.w      	r0, (r4, 0x0)
    21a2:	45a8      	lsli      	r5, r5, 8
    21a4:	6815      	andn      	r0, r5
    21a6:	38ac      	bseti      	r0, 12
    21a8:	07ae      	br      	0x2104	// 2104 <ADC12_ConversionChannel_Config+0x34>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC9 PA0.8
    21aa:	95a0      	ld.w      	r5, (r5, 0x0)
    21ac:	9500      	ld.w      	r0, (r5, 0x0)
    21ae:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0)  | 0x00000001;	
    21b0:	9501      	ld.w      	r0, (r5, 0x4)
    21b2:	370f      	movi      	r7, 15
    21b4:	681d      	andn      	r0, r7
    21b6:	38a0      	bseti      	r0, 0
    21b8:	07af      	br      	0x2116	// 2116 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC10 PA0.9
    21ba:	95a0      	ld.w      	r5, (r5, 0x0)
    21bc:	9500      	ld.w      	r0, (r5, 0x0)
    21be:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFF0F)  | 0x00000010;	
    21c0:	9501      	ld.w      	r0, (r5, 0x4)
    21c2:	37f0      	movi      	r7, 240
    21c4:	681d      	andn      	r0, r7
    21c6:	38a4      	bseti      	r0, 4
    21c8:	07a7      	br      	0x2116	// 2116 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC11 PA0.10
    21ca:	95a0      	ld.w      	r5, (r5, 0x0)
    21cc:	9500      	ld.w      	r0, (r5, 0x0)
    21ce:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFF0FF)  | 0x00000100;	
    21d0:	37f0      	movi      	r7, 240
    21d2:	9501      	ld.w      	r0, (r5, 0x4)
    21d4:	47e4      	lsli      	r7, r7, 4
    21d6:	681d      	andn      	r0, r7
    21d8:	38a8      	bseti      	r0, 8
    21da:	079e      	br      	0x2116	// 2116 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC12 PA0.11
    21dc:	95a0      	ld.w      	r5, (r5, 0x0)
    21de:	9500      	ld.w      	r0, (r5, 0x0)
    21e0:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFF0FFF)  | 0x00001000;	
    21e2:	37f0      	movi      	r7, 240
    21e4:	9501      	ld.w      	r0, (r5, 0x4)
    21e6:	47e8      	lsli      	r7, r7, 8
    21e8:	681d      	andn      	r0, r7
    21ea:	38ac      	bseti      	r0, 12
    21ec:	0795      	br      	0x2116	// 2116 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC13 PA0.12
    21ee:	95a0      	ld.w      	r5, (r5, 0x0)
    21f0:	9500      	ld.w      	r0, (r5, 0x0)
    21f2:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF)  | 0x00010000;	
    21f4:	37f0      	movi      	r7, 240
    21f6:	9501      	ld.w      	r0, (r5, 0x4)
    21f8:	47ec      	lsli      	r7, r7, 12
    21fa:	681d      	andn      	r0, r7
    21fc:	38b0      	bseti      	r0, 16
    21fe:	078c      	br      	0x2116	// 2116 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC14 PA0.13	
    2200:	95a0      	ld.w      	r5, (r5, 0x0)
    2202:	9500      	ld.w      	r0, (r5, 0x0)
    2204:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00100000;	
    2206:	37f0      	movi      	r7, 240
    2208:	9501      	ld.w      	r0, (r5, 0x4)
    220a:	47f0      	lsli      	r7, r7, 16
    220c:	681d      	andn      	r0, r7
    220e:	38b4      	bseti      	r0, 20
    2210:	0783      	br      	0x2116	// 2116 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC15 PB0.0
    2212:	9500      	ld.w      	r0, (r5, 0x0)
    2214:	90a0      	ld.w      	r5, (r0, 0x0)
    2216:	b0a0      	st.w      	r5, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    2218:	90a1      	ld.w      	r5, (r0, 0x4)
    221a:	b0a1      	st.w      	r5, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000001;		
    221c:	9480      	ld.w      	r4, (r4, 0x0)
    221e:	9400      	ld.w      	r0, (r4, 0x0)
    2220:	350f      	movi      	r5, 15
    2222:	6815      	andn      	r0, r5
    2224:	38a0      	bseti      	r0, 0
    2226:	076f      	br      	0x2104	// 2104 <ADC12_ConversionChannel_Config+0x34>
    2228:	2000004c 	.long	0x2000004c
    222c:	20000048 	.long	0x20000048
    2230:	20000050 	.long	0x20000050

Disassembly of section .text.Page_ProgramData3:

00002234 <Page_ProgramData3>:
	while(IFC->RISR!=RGM_END_INT);			//等待操作完成
}


void Page_ProgramData3(unsigned int FlashAdd,unsigned int DataSize,volatile unsigned int Data)
{
    2234:	14c1      	push      	r4
    2236:	1421      	subi      	r14, r14, 4
	int i;

	//页缓存擦除 1
	SetUserKey;
    2238:	107e      	lrw      	r3, 0x2000005c	// 22b0 <Page_ProgramData3+0x7c>
    223a:	9360      	ld.w      	r3, (r3, 0x0)
{
    223c:	b840      	st.w      	r2, (r14, 0x0)
	SetUserKey;
    223e:	105e      	lrw      	r2, 0x5a5a5a5a	// 22b4 <Page_ProgramData3+0x80>
    2240:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x07;					//页缓存擦除
    2242:	3207      	movi      	r2, 7
    2244:	b343      	st.w      	r2, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;
	IFC->CR=0X01;					//Start Program
    2246:	3201      	movi      	r2, 1
	IFC->FM_ADDR=FlashAdd;
    2248:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    224a:	b344      	st.w      	r2, (r3, 0x10)
	while(IFC->CR!=0x0);			//等待操作完成
    224c:	9344      	ld.w      	r2, (r3, 0x10)
    224e:	3a40      	cmpnei      	r2, 0
    2250:	0bfe      	bt      	0x224c	// 224c <Page_ProgramData3+0x18>
    2252:	4122      	lsli      	r1, r1, 2
    2254:	6040      	addu      	r1, r0
    2256:	6c83      	mov      	r2, r0
	//向写缓存中写数据 2
	
	for(i=0;i<DataSize;i++)   //sizeof structure
    2258:	644a      	cmpne      	r2, r1
    225a:	0826      	bt      	0x22a6	// 22a6 <Page_ProgramData3+0x72>
		*(volatile unsigned int *)(FlashAdd+4*i) = Data;
	}
	
	//预编程操作设定 3
	SetUserKey;
	IFC->CMR=0x06;					//预编程操作设定
    225c:	3106      	movi      	r1, 6
	SetUserKey;
    225e:	1056      	lrw      	r2, 0x5a5a5a5a	// 22b4 <Page_ProgramData3+0x80>
    2260:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x06;					//预编程操作设定
    2262:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;
	IFC->CR=0X01;					//Start Program
    2264:	3101      	movi      	r1, 1
	IFC->FM_ADDR=FlashAdd;
    2266:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    2268:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->CR!=0x0);			//等待操作完成
    226a:	9324      	ld.w      	r1, (r3, 0x10)
    226c:	3940      	cmpnei      	r1, 0
    226e:	0bfe      	bt      	0x226a	// 226a <Page_ProgramData3+0x36>
	//执行预编程 4
	SetUserKey;
    2270:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x01;					//执行预编程
    2272:	3201      	movi      	r2, 1
    2274:	b343      	st.w      	r2, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;			//
    2276:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    2278:	b344      	st.w      	r2, (r3, 0x10)
	while(IFC->RISR!=PEP_END_INT);			//等待操作完成
    227a:	934a      	ld.w      	r2, (r3, 0x28)
    227c:	3a44      	cmpnei      	r2, 4
    227e:	0bfe      	bt      	0x227a	// 227a <Page_ProgramData3+0x46>
	//页擦除 5
	SetUserKey;
	IFC->CMR=0x02;					//页擦除
    2280:	3102      	movi      	r1, 2
	SetUserKey;
    2282:	104d      	lrw      	r2, 0x5a5a5a5a	// 22b4 <Page_ProgramData3+0x80>
    2284:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x02;					//页擦除
    2286:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;			//
	IFC->CR=0X01;					//Start Program
    2288:	3101      	movi      	r1, 1
	IFC->FM_ADDR=FlashAdd;			//
    228a:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    228c:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->RISR!=ERS_END_INT);			//等待操作完成
    228e:	932a      	ld.w      	r1, (r3, 0x28)
    2290:	3941      	cmpnei      	r1, 1
    2292:	0bfe      	bt      	0x228e	// 228e <Page_ProgramData3+0x5a>
	//将页缓存的数据写入闪存中 6
	SetUserKey;
    2294:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x01;					//将页缓存的数据写入闪存中
    2296:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;		//
    2298:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    229a:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->RISR!=RGM_END_INT);			//等待操作完成
    229c:	934a      	ld.w      	r2, (r3, 0x28)
    229e:	3a42      	cmpnei      	r2, 2
    22a0:	0bfe      	bt      	0x229c	// 229c <Page_ProgramData3+0x68>
}
    22a2:	1401      	addi      	r14, r14, 4
    22a4:	1481      	pop      	r4
		*(volatile unsigned int *)(FlashAdd+4*i) = Data;
    22a6:	9880      	ld.w      	r4, (r14, 0x0)
    22a8:	b280      	st.w      	r4, (r2, 0x0)
    22aa:	2203      	addi      	r2, 4
    22ac:	07d6      	br      	0x2258	// 2258 <Page_ProgramData3+0x24>
    22ae:	0000      	bkpt
    22b0:	2000005c 	.long	0x2000005c
    22b4:	5a5a5a5a 	.long	0x5a5a5a5a

Disassembly of section .text.ReadDataArry2:

000022b8 <ReadDataArry2>:
		RdStartAdd +=4;
		DataArryPoint +=4;
	}
}
void ReadDataArry2(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned int *DataArryPoint)
{
    22b8:	14c1      	push      	r4
    22ba:	600a      	subu      	r0, r2
	unsigned int i,Buffer;
	//delay_nms(1);
	for(i=0;i<DataLength;i++)
    22bc:	3300      	movi      	r3, 0
    22be:	644e      	cmpne      	r3, r1
    22c0:	0802      	bt      	0x22c4	// 22c4 <ReadDataArry2+0xc>
		Buffer = *(volatile unsigned int *)RdStartAdd;
		*DataArryPoint = Buffer;
		RdStartAdd += 4;
		DataArryPoint += 1;
	}
}
    22c2:	1481      	pop      	r4
    22c4:	5a80      	addu      	r4, r2, r0
		Buffer = *(volatile unsigned int *)RdStartAdd;
    22c6:	9480      	ld.w      	r4, (r4, 0x0)
		*DataArryPoint = Buffer;
    22c8:	b280      	st.w      	r4, (r2, 0x0)
	for(i=0;i<DataLength;i++)
    22ca:	2300      	addi      	r3, 1
		DataArryPoint += 1;
    22cc:	2203      	addi      	r2, 4
    22ce:	07f8      	br      	0x22be	// 22be <ReadDataArry2+0x6>

Disassembly of section .text.delay_nms:

000022d0 <delay_nms>:
//software delay
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void delay_nms(unsigned int t)
{
    22d0:	14d0      	push      	r15
    22d2:	1423      	subi      	r14, r14, 12
    volatile unsigned int i,j ,k=0;
    j = 50* t;
    22d4:	3232      	movi      	r2, 50
    volatile unsigned int i,j ,k=0;
    22d6:	3300      	movi      	r3, 0
    j = 50* t;
    22d8:	7c08      	mult      	r0, r2
    volatile unsigned int i,j ,k=0;
    22da:	b862      	st.w      	r3, (r14, 0x8)
    j = 50* t;
    22dc:	b801      	st.w      	r0, (r14, 0x4)
    for ( i = 0; i < j; i++ )
    22de:	b860      	st.w      	r3, (r14, 0x0)
    22e0:	9840      	ld.w      	r2, (r14, 0x0)
    22e2:	9861      	ld.w      	r3, (r14, 0x4)
    22e4:	64c8      	cmphs      	r2, r3
    22e6:	0c03      	bf      	0x22ec	// 22ec <delay_nms+0x1c>
    {
        k++;
		SYSCON_IWDCNT_Reload(); 
    }
}
    22e8:	1403      	addi      	r14, r14, 12
    22ea:	1490      	pop      	r15
        k++;
    22ec:	9862      	ld.w      	r3, (r14, 0x8)
    22ee:	2300      	addi      	r3, 1
    22f0:	b862      	st.w      	r3, (r14, 0x8)
		SYSCON_IWDCNT_Reload(); 
    22f2:	e3fffa99 	bsr      	0x1824	// 1824 <SYSCON_IWDCNT_Reload>
    for ( i = 0; i < j; i++ )
    22f6:	9860      	ld.w      	r3, (r14, 0x0)
    22f8:	2300      	addi      	r3, 1
    22fa:	07f2      	br      	0x22de	// 22de <delay_nms+0xe>

Disassembly of section .text.CORET_CONFIG:

000022fc <CORET_CONFIG>:
//CORET Functions
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void CORET_CONFIG(void)
{
    22fc:	14d0      	push      	r15
	CORET_DeInit();
    22fe:	e3fffad9 	bsr      	0x18b0	// 18b0 <CORET_DeInit>
	SYSCON_General_CMD(ENABLE,ENDIS_SYSTICK);
    2302:	3180      	movi      	r1, 128
    2304:	4124      	lsli      	r1, r1, 4
    2306:	3001      	movi      	r0, 1
    2308:	e3fffa0e 	bsr      	0x1724	// 1724 <SYSCON_General_CMD>
	CK801->CORET_RVR=11999;	//2ms: 11999  	//CORETCLK=sysclock/8=48M/8=6Mhz  e.g:10ms=(CORET_RVR+1)*(8/48M);CORET_RVR=60000-1=59999
    230c:	1069      	lrw      	r3, 0x20000060	// 2330 <CORET_CONFIG+0x34>
    230e:	104a      	lrw      	r2, 0x2edf	// 2334 <CORET_CONFIG+0x38>
    2310:	9360      	ld.w      	r3, (r3, 0x0)
    2312:	b345      	st.w      	r2, (r3, 0x14)
	CORET_reload();																
    2314:	e3fffb06 	bsr      	0x1920	// 1920 <CORET_reload>
	CORET_CLKSOURCE_EX();								//use ex clock
    2318:	e3fffaf4 	bsr      	0x1900	// 1900 <CORET_CLKSOURCE_EX>
	CORET_TICKINT_Enable();								//clear CORET counter
    231c:	e3fffafa 	bsr      	0x1910	// 1910 <CORET_TICKINT_Enable>
	CORET_stop();	
    2320:	e3fffae8 	bsr      	0x18f0	// 18f0 <CORET_stop>
	
	CORET_start();
    2324:	e3fffade 	bsr      	0x18e0	// 18e0 <CORET_start>
	CORET_Int_Enable();
    2328:	e3fffad0 	bsr      	0x18c8	// 18c8 <CORET_Int_Enable>
	//CORET_WakeUp_Enable();									
}
    232c:	1490      	pop      	r15
    232e:	0000      	bkpt
    2330:	20000060 	.long	0x20000060
    2334:	00002edf 	.long	0x00002edf

Disassembly of section .text.I2C_SLAVE_CONFIG:

00002338 <I2C_SLAVE_CONFIG>:
//IIC SLAVER Initial
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void I2C_SLAVE_CONFIG(void)
{
    2338:	14d0      	push      	r15
    233a:	1423      	subi      	r14, r14, 12
	I2C_DeInit();
    233c:	e3fffba8 	bsr      	0x1a8c	// 1a8c <I2C_DeInit>
	I2C_Slave_CONFIG(I2C_SDA_PA07,I2C_SCL_PA01,FAST_MODE,I2C_SLAVE_7BIT,0X57,0X50,0X50);//从机地址不能设置为0x00~0x07,0x78~0x7f
    2340:	3350      	movi      	r3, 80
    2342:	b862      	st.w      	r3, (r14, 0x8)
    2344:	b861      	st.w      	r3, (r14, 0x4)
    2346:	3357      	movi      	r3, 87
    2348:	b860      	st.w      	r3, (r14, 0x0)
    234a:	3204      	movi      	r2, 4
    234c:	3300      	movi      	r3, 0
    234e:	3102      	movi      	r1, 2
    2350:	3002      	movi      	r0, 2
    2352:	e3fffba9 	bsr      	0x1aa4	// 1aa4 <I2C_Slave_CONFIG>
	I2C_SDA_TSETUP_THOLD_CONFIG(0x40,0x40,0x40);
    2356:	3240      	movi      	r2, 64
    2358:	3140      	movi      	r1, 64
    235a:	3040      	movi      	r0, 64
    235c:	e3fffc42 	bsr      	0x1be0	// 1be0 <I2C_SDA_TSETUP_THOLD_CONFIG>
	I2C_FIFO_TriggerData(0,0);															//发送FIFO设置为7
    2360:	3100      	movi      	r1, 0
    2362:	3000      	movi      	r0, 0
    2364:	e3fffc56 	bsr      	0x1c10	// 1c10 <I2C_FIFO_TriggerData>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_SCL_SLOW);
    2368:	3180      	movi      	r1, 128
    236a:	4127      	lsli      	r1, r1, 7
    236c:	3001      	movi      	r0, 1
    236e:	e3fffc43 	bsr      	0x1bf4	// 1bf4 <I2C_ConfigInterrupt_CMD>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_STOP_DET);
    2372:	3180      	movi      	r1, 128
    2374:	4122      	lsli      	r1, r1, 2
    2376:	3001      	movi      	r0, 1
    2378:	e3fffc3e 	bsr      	0x1bf4	// 1bf4 <I2C_ConfigInterrupt_CMD>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_RD_REQ);
    237c:	3120      	movi      	r1, 32
    237e:	3001      	movi      	r0, 1
    2380:	e3fffc3a 	bsr      	0x1bf4	// 1bf4 <I2C_ConfigInterrupt_CMD>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_RX_FULL);
    2384:	3104      	movi      	r1, 4
    2386:	3001      	movi      	r0, 1
    2388:	e3fffc36 	bsr      	0x1bf4	// 1bf4 <I2C_ConfigInterrupt_CMD>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_TX_ABRT);
    238c:	3140      	movi      	r1, 64
    238e:	3001      	movi      	r0, 1
    2390:	e3fffc32 	bsr      	0x1bf4	// 1bf4 <I2C_ConfigInterrupt_CMD>
	I2C_Enable();
    2394:	e3fffc46 	bsr      	0x1c20	// 1c20 <I2C_Enable>
	I2C_Int_Enable();
    2398:	e3fffc5c 	bsr      	0x1c50	// 1c50 <I2C_Int_Enable>
	
}
    239c:	1403      	addi      	r14, r14, 12
    239e:	1490      	pop      	r15

Disassembly of section .text.ADC12_CONFIG:

000023a0 <ADC12_CONFIG>:
//adc config
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void ADC12_CONFIG(void)
{
    23a0:	14d0      	push      	r15
    23a2:	1422      	subi      	r14, r14, 8
	ADC12_RESET_VALUE(); //ADC 所有寄存器复位赋值
    23a4:	e3fffd12 	bsr      	0x1dc8	// 1dc8 <ADC12_RESET_VALUE>
	ADC12_CLK_CMD(ADC_CLK_CR , ENABLE); //使能 ADC CLK
    23a8:	3101      	movi      	r1, 1
    23aa:	3002      	movi      	r0, 2
    23ac:	e3fffd58 	bsr      	0x1e5c	// 1e5c <ADC12_CLK_CMD>
    ADC12_Software_Reset(); //ADC 软件复位
    23b0:	e3fffd6c 	bsr      	0x1e88	// 1e88 <ADC12_Software_Reset>
	ADC12_Configure_Mode(ADC12_10BIT , Continuous_mode ,0, 6 ,(6 * 3) , 6); //选择12BIT ADC; 连续模式; 转换优先序列寄存器为0; 采样保持时间=6 ;ADC_CLK=PCLK/2*2=0.2us; 转换序列个数为6
    23b4:	3306      	movi      	r3, 6
    23b6:	b861      	st.w      	r3, (r14, 0x4)
    23b8:	3312      	movi      	r3, 18
    23ba:	b860      	st.w      	r3, (r14, 0x0)
    23bc:	3200      	movi      	r2, 0
    23be:	3306      	movi      	r3, 6
    23c0:	3101      	movi      	r1, 1
    23c2:	3000      	movi      	r0, 0
    23c4:	e3fffd8e 	bsr      	0x1ee0	// 1ee0 <ADC12_Configure_Mode>
	ADC12_Configure_VREF_Selecte(ADC12_VREFP_VDD_VREFN_VSS); //VDD,VSS作为参考电压
    23c8:	3000      	movi      	r0, 0
    23ca:	e3fffdc3 	bsr      	0x1f50	// 1f50 <ADC12_Configure_VREF_Selecte>

	ADC12_ConversionChannel_Config(ADC_Channel_Switch,ADC12_CV_RepeatNum16,ADC12_AVGEN,0); //switch //ADC_Channel_Switch //转换序列0,选择ADCIN0通道, 6个转换周期, 连续重复采样次数为1平均值计算禁止
    23ce:	3280      	movi      	r2, 128
    23d0:	3184      	movi      	r1, 132
    23d2:	3300      	movi      	r3, 0
    23d4:	4245      	lsli      	r2, r2, 5
    23d6:	4128      	lsli      	r1, r1, 8
    23d8:	300c      	movi      	r0, 12
    23da:	e3fffe7b 	bsr      	0x20d0	// 20d0 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC_Channel_Oven,ADC12_CV_RepeatNum16,ADC12_AVGEN,1); //Oven //转换序列1,选择ADCIN1通道, 6个转换周期, 连续重复采样次数为1,平均值计算禁止
    23de:	3280      	movi      	r2, 128
    23e0:	3184      	movi      	r1, 132
    23e2:	3301      	movi      	r3, 1
    23e4:	4245      	lsli      	r2, r2, 5
    23e6:	4128      	lsli      	r1, r1, 8
    23e8:	3004      	movi      	r0, 4
    23ea:	e3fffe73 	bsr      	0x20d0	// 20d0 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC_Channel_Meat1,ADC12_CV_RepeatNum16,ADC12_AVGEN,2); //Probe1
    23ee:	3280      	movi      	r2, 128
    23f0:	3184      	movi      	r1, 132
    23f2:	3302      	movi      	r3, 2
    23f4:	4245      	lsli      	r2, r2, 5
    23f6:	4128      	lsli      	r1, r1, 8
    23f8:	300b      	movi      	r0, 11
    23fa:	e3fffe6b 	bsr      	0x20d0	// 20d0 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC_Channel_Meat2,ADC12_CV_RepeatNum16,ADC12_AVGEN,3); //Probe2
    23fe:	3280      	movi      	r2, 128
    2400:	3184      	movi      	r1, 132
    2402:	3303      	movi      	r3, 3
    2404:	4245      	lsli      	r2, r2, 5
    2406:	4128      	lsli      	r1, r1, 8
    2408:	300a      	movi      	r0, 10
    240a:	e3fffe63 	bsr      	0x20d0	// 20d0 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC12_DIV4_VDD,ADC12_CV_RepeatNum16,ADC12_AVGEN,4); //Div4 VDD 用于检测 电池电压检测
    240e:	3280      	movi      	r2, 128
    2410:	3184      	movi      	r1, 132
    2412:	3304      	movi      	r3, 4
    2414:	4245      	lsli      	r2, r2, 5
    2416:	4128      	lsli      	r1, r1, 8
    2418:	301d      	movi      	r0, 29
    241a:	e3fffe5b 	bsr      	0x20d0	// 20d0 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC12_INTVREF,ADC12_CV_RepeatNum16,ADC12_AVGEN,5); //INTVREF内部高精度电压参考源 1v: 1000mV / AD 作为参考值
    241e:	3280      	movi      	r2, 128
    2420:	3184      	movi      	r1, 132
    2422:	3305      	movi      	r3, 5
    2424:	4245      	lsli      	r2, r2, 5
    2426:	4128      	lsli      	r1, r1, 8
    2428:	301c      	movi      	r0, 28
    242a:	e3fffe53 	bsr      	0x20d0	// 20d0 <ADC12_ConversionChannel_Config>
		
	ADC12_CMD(ENABLE); //使能ADC模块
    242e:	3001      	movi      	r0, 1
    2430:	e3fffd32 	bsr      	0x1e94	// 1e94 <ADC12_CMD>
	ADC12_ready_wait(); //等待ADC模块配置完成
    2434:	e3fffd42 	bsr      	0x1eb8	// 1eb8 <ADC12_ready_wait>
	ADC12_Control(ADC12_START);
    2438:	3008      	movi      	r0, 8
    243a:	e3fffcfd 	bsr      	0x1e34	// 1e34 <ADC12_Control>
}
    243e:	1402      	addi      	r14, r14, 8
    2440:	1490      	pop      	r15

Disassembly of section .text.SYSCON_CONFIG:

00002442 <SYSCON_CONFIG>:
//syscon Functions
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_CONFIG(void)
{
    2442:	14d0      	push      	r15
    2444:	1421      	subi      	r14, r14, 4
//------SYSTEM CLK AND PCLK FUNTION---------------------------/
	SYSCON_RST_VALUE();                                                         //SYSCON all register clr
    2446:	e3fff943 	bsr      	0x16cc	// 16cc <SYSCON_RST_VALUE>
	SYSCON_General_CMD(ENABLE,ENDIS_ISOSC);
    244a:	3101      	movi      	r1, 1
    244c:	3001      	movi      	r0, 1
    244e:	e3fff96b 	bsr      	0x1724	// 1724 <SYSCON_General_CMD>
	//EMOSC_OSTR_Config(0XAD,0X1f,EM_LFSEL_EN,EM_FLEN_EN,EM_FLSEL_10ns);			//EM_CNT=0X3FF,0xAD(36K),EM_GM=0,Low F modedisable,EM filter disable,if enable,cont set 5ns
	//SYSCON_General_CMD(ENABLE,ENDIS_EMOSC);
	SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_48M);									//HFOSC selected 48MHz
    2452:	3000      	movi      	r0, 0
    2454:	e3fff9bc 	bsr      	0x17cc	// 17cc <SYSCON_HFOSC_SELECTE>
	SystemCLK_HCLKDIV_PCLKDIV_Config(SYSCLK_HFOSC,HCLK_DIV_1,PCLK_DIV_1,HFOSC_48M);//system clock set, Hclk div ,Pclk div  set system clock=SystemCLK/Hclk div/Pclk div
    2458:	3180      	movi      	r1, 128
    245a:	3308      	movi      	r3, 8
    245c:	3200      	movi      	r2, 0
    245e:	4121      	lsli      	r1, r1, 1
    2460:	3002      	movi      	r0, 2
    2462:	e3fff979 	bsr      	0x1754	// 1754 <SystemCLK_HCLKDIV_PCLKDIV_Config>
//------------  WDT FUNTION  --------------------------------/
    SYSCON_IWDCNT_Config(IWDT_TIME_2S,IWDT_INTW_DIV_7);      					//WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S
    2466:	3080      	movi      	r0, 128
    2468:	3118      	movi      	r1, 24
    246a:	4003      	lsli      	r0, r0, 3
    246c:	e3fff9e6 	bsr      	0x1838	// 1838 <SYSCON_IWDCNT_Config>
    SYSCON_WDT_CMD(ENABLE);                                                  	//enable WDT		
    2470:	3001      	movi      	r0, 1
    2472:	e3fff9c1 	bsr      	0x17f4	// 17f4 <SYSCON_WDT_CMD>
    SYSCON_IWDCNT_Reload();                                                   	//reload WDT
    2476:	e3fff9d7 	bsr      	0x1824	// 1824 <SYSCON_IWDCNT_Reload>
	//IWDT_Int_Enable();
//------------  WWDT FUNTION  --------------------------------/
	WWDT_CNT_Load(0xFF);
    247a:	30ff      	movi      	r0, 255
    247c:	e3fffae6 	bsr      	0x1a48	// 1a48 <WWDT_CNT_Load>
	WWDT_CONFIG(PCLK_4096_DIV0,0xFF,WWDT_DBGDIS);
    2480:	3200      	movi      	r2, 0
    2482:	31ff      	movi      	r1, 255
    2484:	3000      	movi      	r0, 0
    2486:	e3fffad5 	bsr      	0x1a30	// 1a30 <WWDT_CONFIG>
	WWDT_Int_Config(ENABLE);
    248a:	3001      	movi      	r0, 1
    248c:	e3fffae6 	bsr      	0x1a58	// 1a58 <WWDT_Int_Config>
	//WWDT_CMD(ENABLE);
//------------  CLO  --------------------------------/	
	//SYSCON_CLO_CONFIG(CLO_PA02);
	//SYSCON->OPT1=(SYSCON->OPT1&0XFFFF8000)|(0X01<<12)|(0X04<<8)|(0x00<<4);
//------------  LVD FUNTION  --------------------------------/ 
    SYSCON_LVD_Config(DISABLE_LVDEN,INTDET_LVL_3_3V,RSTDET_LVL_1_9V,DISABLE_LVD_INT,INTDET_POL_fall);   //LVD LVR Enable/Disable
    2490:	3340      	movi      	r3, 64
    2492:	3180      	movi      	r1, 128
    2494:	b860      	st.w      	r3, (r14, 0x0)
    2496:	3200      	movi      	r2, 0
    2498:	3300      	movi      	r3, 0
    249a:	4123      	lsli      	r1, r1, 3
    249c:	300a      	movi      	r0, 10
    249e:	e3fff9d9 	bsr      	0x1850	// 1850 <SYSCON_LVD_Config>
	
	//SYSCON->IMER =EM_EVTRG0_ST;
//------------  SYSCON Vector  --------------------------------/ 	
	//SYSCON_Int_Enable();    														//SYSCON VECTOR
	//SYSCON_WakeUp_Enable();    													//Enable WDT wakeup INT
}
    24a2:	1401      	addi      	r14, r14, 4
    24a4:	1490      	pop      	r15

Disassembly of section .text.APT32F102_init:

000024a8 <APT32F102_init>:
//ReturnValue:NONE                                                                /
/*********************************************************************************/
/*********************************************************************************/  
/*********************************************************************************/
void APT32F102_init(void) 
{
    24a8:	14d0      	push      	r15
//------------------------------------------------------------/
//Peripheral clock enable and disable
//EntryParameter:NONE
//ReturnValue:NONE
//------------------------------------------------------------/
    SYSCON->PCER0=0xFFFFFFF;                                        //PCLK Enable  0x00410071
    24aa:	1069      	lrw      	r3, 0x20000058	// 24cc <APT32F102_init+0x24>
    24ac:	1049      	lrw      	r2, 0xfffffff	// 24d0 <APT32F102_init+0x28>
    24ae:	9360      	ld.w      	r3, (r3, 0x0)
    24b0:	b34a      	st.w      	r2, (r3, 0x28)
    SYSCON->PCER1=0xFFFFFFF;                                        //PCLK Enable
    24b2:	b34d      	st.w      	r2, (r3, 0x34)
    while(!(SYSCON->PCSR0&0x1));                                    //Wait PCLK enabled	
    24b4:	934c      	ld.w      	r2, (r3, 0x30)
    24b6:	3ac0      	btsti      	r2, 0
    24b8:	0ffe      	bf      	0x24b4	// 24b4 <APT32F102_init+0xc>
//------------------------------------------------------------/
//ISOSC/IMOSC/EMOSC/SYSCLK/IWDT/LVD/EM_CMFAIL/EM_CMRCV/CMD_ERR OSC stable interrupt
//EntryParameter:NONE
//ReturnValue:NONE
//------------------------------------------------------------/
    SYSCON_CONFIG();                                                 //syscon  initial
    24ba:	e3ffffc4 	bsr      	0x2442	// 2442 <SYSCON_CONFIG>
	CK_CPU_EnAllNormalIrq();                                         //enable all IRQ
    24be:	e0000471 	bsr      	0x2da0	// 2da0 <CK_CPU_EnAllNormalIrq>
//------------------------------------------------------------/
//Other IP config
//------------------------------------------------------------/
	//GPIO_CONFIG();                                                //GPIO initial    
	CORET_CONFIG();												//CORET initial 
    24c2:	e3ffff1d 	bsr      	0x22fc	// 22fc <CORET_CONFIG>
	//SPI_SLAVE_CONFIG();											//SPI Slaver initial 
	//SIO_CONFIG();													//SIO initial
    //UART0_CONFIG();                                               //UART0 initial 
	//UART1_CONFIG();                                               //UART1 initial 
	//UART2_CONFIG();                                               //UART2 initial 
	ADC12_CONFIG();                                               //ADC initial 
    24c6:	e3ffff6d 	bsr      	0x23a0	// 23a0 <ADC12_CONFIG>
	//IFC_CONFIG();
	//SYSCON_INT_Priority();
}
    24ca:	1490      	pop      	r15
    24cc:	20000058 	.long	0x20000058
    24d0:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.CORETHandler:

000024d4 <CORETHandler>:
//CORET Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORETHandler(void) 
{
    24d4:	1460      	nie
    24d6:	1462      	ipush
    24d8:	14d0      	push      	r15
    // ISR content ...
	CK801->CORET_CVR = 0x0;							// Clear counter and flag
    24da:	1067      	lrw      	r3, 0x20000060	// 24f4 <CORETHandler+0x20>
    24dc:	3200      	movi      	r2, 0
    24de:	9360      	ld.w      	r3, (r3, 0x0)
    24e0:	b346      	st.w      	r2, (r3, 0x18)
	nop;
    24e2:	6c03      	mov      	r0, r0
	
	SysTick_IRQHandler();
    24e4:	e00006f0 	bsr      	0x32c4	// 32c4 <SysTick_IRQHandler>
}
    24e8:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    24ec:	1401      	addi      	r14, r14, 4
    24ee:	1463      	ipop
    24f0:	1461      	nir
    24f2:	0000      	bkpt
    24f4:	20000060 	.long	0x20000060

Disassembly of section .text.SYSCONIntHandler:

000024f8 <SYSCONIntHandler>:
//SYSCON Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCONIntHandler(void) 
{
    24f8:	1460      	nie
    24fa:	1462      	ipush
    // ISR content ...
	if((SYSCON->MISR&ISOSC_ST)==ISOSC_ST)
    24fc:	116f      	lrw      	r3, 0x20000058	// 25b8 <SYSCONIntHandler+0xc0>
    24fe:	3280      	movi      	r2, 128
    2500:	9360      	ld.w      	r3, (r3, 0x0)
    2502:	60c8      	addu      	r3, r2
    2504:	9323      	ld.w      	r1, (r3, 0xc)
    2506:	39c0      	btsti      	r1, 0
    2508:	0c04      	bf      	0x2510	// 2510 <SYSCONIntHandler+0x18>
	{
		SYSCON->ICR = ISOSC_ST;
    250a:	3201      	movi      	r2, 1
	{
		SYSCON->ICR = EM_EVTRG3_ST;
	}
	else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST)
	{
		SYSCON->ICR = CMD_ERR_ST;
    250c:	b341      	st.w      	r2, (r3, 0x4)
	}
}
    250e:	043d      	br      	0x2588	// 2588 <SYSCONIntHandler+0x90>
	else if((SYSCON->MISR&IMOSC_ST)==IMOSC_ST)
    2510:	9323      	ld.w      	r1, (r3, 0xc)
    2512:	39c1      	btsti      	r1, 1
    2514:	0c03      	bf      	0x251a	// 251a <SYSCONIntHandler+0x22>
		SYSCON->ICR = IMOSC_ST;
    2516:	3202      	movi      	r2, 2
    2518:	07fa      	br      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EMOSC_ST)==EMOSC_ST)
    251a:	9323      	ld.w      	r1, (r3, 0xc)
    251c:	39c3      	btsti      	r1, 3
    251e:	0c03      	bf      	0x2524	// 2524 <SYSCONIntHandler+0x2c>
		SYSCON->ICR = EMOSC_ST;
    2520:	3208      	movi      	r2, 8
    2522:	07f5      	br      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST)
    2524:	9323      	ld.w      	r1, (r3, 0xc)
    2526:	39c4      	btsti      	r1, 4
    2528:	0c03      	bf      	0x252e	// 252e <SYSCONIntHandler+0x36>
		SYSCON->ICR = HFOSC_ST;
    252a:	3210      	movi      	r2, 16
    252c:	07f0      	br      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&SYSCLK_ST)==SYSCLK_ST)
    252e:	9323      	ld.w      	r1, (r3, 0xc)
    2530:	39c7      	btsti      	r1, 7
    2532:	0bed      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&IWDT_INT_ST)==IWDT_INT_ST)
    2534:	9323      	ld.w      	r1, (r3, 0xc)
    2536:	3280      	movi      	r2, 128
    2538:	39c8      	btsti      	r1, 8
    253a:	4241      	lsli      	r2, r2, 1
    253c:	0be8      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&WKI_INT_ST)==WKI_INT_ST)
    253e:	9323      	ld.w      	r1, (r3, 0xc)
    2540:	3280      	movi      	r2, 128
    2542:	39c9      	btsti      	r1, 9
    2544:	4242      	lsli      	r2, r2, 2
    2546:	0be3      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&RAMERRINT_ST)==RAMERRINT_ST)
    2548:	9323      	ld.w      	r1, (r3, 0xc)
    254a:	3280      	movi      	r2, 128
    254c:	39ca      	btsti      	r1, 10
    254e:	4243      	lsli      	r2, r2, 3
    2550:	0bde      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&LVD_INT_ST)==LVD_INT_ST)
    2552:	9323      	ld.w      	r1, (r3, 0xc)
    2554:	3280      	movi      	r2, 128
    2556:	39cb      	btsti      	r1, 11
    2558:	4244      	lsli      	r2, r2, 4
    255a:	0bd9      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&HWD_ERR)==HWD_ERR)
    255c:	9343      	ld.w      	r2, (r3, 0xc)
    255e:	3acc      	btsti      	r2, 12
    2560:	3280      	movi      	r2, 128
    2562:	4245      	lsli      	r2, r2, 5
    2564:	0bd4      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&OPTERR_INT)==OPTERR_INT)
    2566:	9323      	ld.w      	r1, (r3, 0xc)
    2568:	3280      	movi      	r2, 128
    256a:	39ce      	btsti      	r1, 14
    256c:	4247      	lsli      	r2, r2, 7
    256e:	0bcf      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EM_CMLST_ST)==EM_CMLST_ST)
    2570:	9323      	ld.w      	r1, (r3, 0xc)
    2572:	3280      	movi      	r2, 128
    2574:	39d2      	btsti      	r1, 18
    2576:	424b      	lsli      	r2, r2, 11
    2578:	0bca      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EM_EVTRG0_ST)==EM_EVTRG0_ST)
    257a:	9323      	ld.w      	r1, (r3, 0xc)
    257c:	3280      	movi      	r2, 128
    257e:	39d3      	btsti      	r1, 19
    2580:	424c      	lsli      	r2, r2, 12
    2582:	0c05      	bf      	0x258c	// 258c <SYSCONIntHandler+0x94>
		SYSCON->ICR = EM_EVTRG0_ST;
    2584:	b341      	st.w      	r2, (r3, 0x4)
		nop;
    2586:	6c03      	mov      	r0, r0
}
    2588:	1463      	ipop
    258a:	1461      	nir
	else if((SYSCON->MISR&EM_EVTRG1_ST)==EM_EVTRG1_ST)
    258c:	9323      	ld.w      	r1, (r3, 0xc)
    258e:	3280      	movi      	r2, 128
    2590:	39d4      	btsti      	r1, 20
    2592:	424d      	lsli      	r2, r2, 13
    2594:	0bbc      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EM_EVTRG2_ST)==EM_EVTRG2_ST)
    2596:	9323      	ld.w      	r1, (r3, 0xc)
    2598:	3280      	movi      	r2, 128
    259a:	39d5      	btsti      	r1, 21
    259c:	424e      	lsli      	r2, r2, 14
    259e:	0bb7      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EM_EVTRG3_ST)==EM_EVTRG3_ST)
    25a0:	9323      	ld.w      	r1, (r3, 0xc)
    25a2:	3280      	movi      	r2, 128
    25a4:	39d6      	btsti      	r1, 22
    25a6:	424f      	lsli      	r2, r2, 15
    25a8:	0bb2      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST)
    25aa:	9323      	ld.w      	r1, (r3, 0xc)
    25ac:	3280      	movi      	r2, 128
    25ae:	39dd      	btsti      	r1, 29
    25b0:	4256      	lsli      	r2, r2, 22
    25b2:	0bad      	bt      	0x250c	// 250c <SYSCONIntHandler+0x14>
    25b4:	07ea      	br      	0x2588	// 2588 <SYSCONIntHandler+0x90>
    25b6:	0000      	bkpt
    25b8:	20000058 	.long	0x20000058

Disassembly of section .text.IFCIntHandler:

000025bc <IFCIntHandler>:
//IFC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void IFCIntHandler(void) 
{
    25bc:	1460      	nie
    25be:	1462      	ipush
    25c0:	14c1      	push      	r4
    // ISR content ...
	//并行写模式
	if(IFC->MISR&ERS_END_INT)			//擦除指令完成
    25c2:	1170      	lrw      	r3, 0x2000005c	// 2680 <IFCIntHandler+0xc4>
    25c4:	9360      	ld.w      	r3, (r3, 0x0)
    25c6:	934b      	ld.w      	r2, (r3, 0x2c)
    25c8:	3ac0      	btsti      	r2, 0
    25ca:	0c16      	bf      	0x25f6	// 25f6 <IFCIntHandler+0x3a>
	{
		IFC->ICR=ERS_END_INT;
    25cc:	3201      	movi      	r2, 1
    25ce:	b34c      	st.w      	r2, (r3, 0x30)
		if((ifc_step==1)&&(f_Drom_writing==1))
    25d0:	112d      	lrw      	r1, 0x2000038c	// 2684 <IFCIntHandler+0xc8>
    25d2:	8140      	ld.b      	r2, (r1, 0x0)
    25d4:	3a41      	cmpnei      	r2, 1
    25d6:	0822      	bt      	0x261a	// 261a <IFCIntHandler+0x5e>
    25d8:	114c      	lrw      	r2, 0x200000fc	// 2688 <IFCIntHandler+0xcc>
    25da:	8240      	ld.b      	r2, (r2, 0x0)
    25dc:	7488      	zextb      	r2, r2
    25de:	3a41      	cmpnei      	r2, 1
    25e0:	081d      	bt      	0x261a	// 261a <IFCIntHandler+0x5e>
		{
			SetUserKey;
    25e2:	110b      	lrw      	r0, 0x5a5a5a5a	// 268c <IFCIntHandler+0xd0>
    25e4:	b308      	st.w      	r0, (r3, 0x20)
			IFC->CMR=0x01;					//将页缓存的数据写入闪存中
    25e6:	b343      	st.w      	r2, (r3, 0xc)
			IFC->FM_ADDR=R_INT_FlashAdd;		//
    25e8:	110a      	lrw      	r0, 0x20000388	// 2690 <IFCIntHandler+0xd4>
    25ea:	9000      	ld.w      	r0, (r0, 0x0)
    25ec:	b306      	st.w      	r0, (r3, 0x18)
			IFC->CR=0X01;					//Start Program
    25ee:	b344      	st.w      	r2, (r3, 0x10)
			ifc_step=2;
    25f0:	3302      	movi      	r3, 2
		{
			SetUserKey;
			IFC->CMR=0x02;					//页擦除
			IFC->FM_ADDR=R_INT_FlashAdd;			//
			IFC->CR=0X01;					//Start Program
			ifc_step=1;
    25f2:	a160      	st.b      	r3, (r1, 0x0)
    25f4:	0413      	br      	0x261a	// 261a <IFCIntHandler+0x5e>
	else if(IFC->MISR&RGM_END_INT)		//编译指令完成
    25f6:	934b      	ld.w      	r2, (r3, 0x2c)
    25f8:	3ac1      	btsti      	r2, 1
    25fa:	3002      	movi      	r0, 2
    25fc:	0c13      	bf      	0x2622	// 2622 <IFCIntHandler+0x66>
		IFC->ICR=RGM_END_INT;
    25fe:	b30c      	st.w      	r0, (r3, 0x30)
		if((ifc_step==2)&&(f_Drom_writing==1))
    2600:	1161      	lrw      	r3, 0x2000038c	// 2684 <IFCIntHandler+0xc8>
    2602:	8360      	ld.b      	r3, (r3, 0x0)
    2604:	3b42      	cmpnei      	r3, 2
    2606:	080a      	bt      	0x261a	// 261a <IFCIntHandler+0x5e>
    2608:	1160      	lrw      	r3, 0x200000fc	// 2688 <IFCIntHandler+0xcc>
    260a:	8340      	ld.b      	r2, (r3, 0x0)
    260c:	3a41      	cmpnei      	r2, 1
    260e:	0806      	bt      	0x261a	// 261a <IFCIntHandler+0x5e>
			f_Drom_writing=0;
    2610:	3200      	movi      	r2, 0
    2612:	a340      	st.b      	r2, (r3, 0x0)
			f_Drom_write_complete=1;
    2614:	3201      	movi      	r2, 1
    2616:	1160      	lrw      	r3, 0x200000fd	// 2694 <IFCIntHandler+0xd8>
    2618:	a340      	st.b      	r2, (r3, 0x0)
	}
	else if(IFC->MISR&OVW_ERR_INT)		//非法操作错误中断
	{
		IFC->ICR=OVW_ERR_INT;
	}
}
    261a:	9880      	ld.w      	r4, (r14, 0x0)
    261c:	1401      	addi      	r14, r14, 4
    261e:	1463      	ipop
    2620:	1461      	nir
	else if(IFC->MISR&PEP_END_INT)		//预编程指令完成
    2622:	934b      	ld.w      	r2, (r3, 0x2c)
    2624:	3ac2      	btsti      	r2, 2
    2626:	0c15      	bf      	0x2650	// 2650 <IFCIntHandler+0x94>
		IFC->ICR=PEP_END_INT;
    2628:	3204      	movi      	r2, 4
    262a:	b34c      	st.w      	r2, (r3, 0x30)
		if((ifc_step==0)&&(f_Drom_writing==1))
    262c:	1036      	lrw      	r1, 0x2000038c	// 2684 <IFCIntHandler+0xc8>
    262e:	8140      	ld.b      	r2, (r1, 0x0)
    2630:	3a40      	cmpnei      	r2, 0
    2632:	0bf4      	bt      	0x261a	// 261a <IFCIntHandler+0x5e>
    2634:	1055      	lrw      	r2, 0x200000fc	// 2688 <IFCIntHandler+0xcc>
    2636:	8240      	ld.b      	r2, (r2, 0x0)
    2638:	7488      	zextb      	r2, r2
    263a:	3a41      	cmpnei      	r2, 1
    263c:	0bef      	bt      	0x261a	// 261a <IFCIntHandler+0x5e>
			SetUserKey;
    263e:	1094      	lrw      	r4, 0x5a5a5a5a	// 268c <IFCIntHandler+0xd0>
    2640:	b388      	st.w      	r4, (r3, 0x20)
			IFC->CMR=0x02;					//页擦除
    2642:	b303      	st.w      	r0, (r3, 0xc)
			IFC->FM_ADDR=R_INT_FlashAdd;			//
    2644:	1013      	lrw      	r0, 0x20000388	// 2690 <IFCIntHandler+0xd4>
    2646:	9000      	ld.w      	r0, (r0, 0x0)
    2648:	b306      	st.w      	r0, (r3, 0x18)
			IFC->CR=0X01;					//Start Program
    264a:	b344      	st.w      	r2, (r3, 0x10)
			ifc_step=1;
    264c:	3301      	movi      	r3, 1
    264e:	07d2      	br      	0x25f2	// 25f2 <IFCIntHandler+0x36>
	else if(IFC->MISR&PROT_ERR_INT)		//保护错误中断
    2650:	932b      	ld.w      	r1, (r3, 0x2c)
    2652:	3280      	movi      	r2, 128
    2654:	39cc      	btsti      	r1, 12
    2656:	4245      	lsli      	r2, r2, 5
    2658:	0c03      	bf      	0x265e	// 265e <IFCIntHandler+0xa2>
		IFC->ICR=OVW_ERR_INT;
    265a:	b34c      	st.w      	r2, (r3, 0x30)
}
    265c:	07df      	br      	0x261a	// 261a <IFCIntHandler+0x5e>
	else if(IFC->MISR&UDEF_ERR_INT)		//未定义指令错误中断
    265e:	932b      	ld.w      	r1, (r3, 0x2c)
    2660:	3280      	movi      	r2, 128
    2662:	39cd      	btsti      	r1, 13
    2664:	4246      	lsli      	r2, r2, 6
    2666:	0bfa      	bt      	0x265a	// 265a <IFCIntHandler+0x9e>
	else if(IFC->MISR&ADDR_ERR_INT)		//地址错误中断
    2668:	932b      	ld.w      	r1, (r3, 0x2c)
    266a:	3280      	movi      	r2, 128
    266c:	39ce      	btsti      	r1, 14
    266e:	4247      	lsli      	r2, r2, 7
    2670:	0bf5      	bt      	0x265a	// 265a <IFCIntHandler+0x9e>
	else if(IFC->MISR&OVW_ERR_INT)		//非法操作错误中断
    2672:	932b      	ld.w      	r1, (r3, 0x2c)
    2674:	3280      	movi      	r2, 128
    2676:	39cf      	btsti      	r1, 15
    2678:	4248      	lsli      	r2, r2, 8
    267a:	0bf0      	bt      	0x265a	// 265a <IFCIntHandler+0x9e>
    267c:	07cf      	br      	0x261a	// 261a <IFCIntHandler+0x5e>
    267e:	0000      	bkpt
    2680:	2000005c 	.long	0x2000005c
    2684:	2000038c 	.long	0x2000038c
    2688:	200000fc 	.long	0x200000fc
    268c:	5a5a5a5a 	.long	0x5a5a5a5a
    2690:	20000388 	.long	0x20000388
    2694:	200000fd 	.long	0x200000fd

Disassembly of section .text.EPT0IntHandler:

00002698 <EPT0IntHandler>:
//EPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EPT0IntHandler(void) 
{
    2698:	1460      	nie
    269a:	1462      	ipush
    269c:	14d1      	push      	r4, r15
    // ISR content ...
	if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT)
    269e:	129b      	lrw      	r4, 0x20000020	// 2808 <EPT0IntHandler+0x170>
    26a0:	3280      	movi      	r2, 128
    26a2:	9460      	ld.w      	r3, (r4, 0x0)
    26a4:	60c8      	addu      	r3, r2
    26a6:	9335      	ld.w      	r1, (r3, 0x54)
    26a8:	39c0      	btsti      	r1, 0
    26aa:	0c04      	bf      	0x26b2	// 26b2 <EPT0IntHandler+0x1a>
	{
		EPT0->ICR=EPT_TRGEV0_INT;
    26ac:	3201      	movi      	r2, 1
	{
		EPT0->ICR=EPT_CDD;
	}
	else if((EPT0->MISR&EPT_PEND)==EPT_PEND)
	{
		EPT0->ICR=EPT_PEND;
    26ae:	b357      	st.w      	r2, (r3, 0x5c)
    26b0:	0423      	br      	0x26f6	// 26f6 <EPT0IntHandler+0x5e>
	else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT)
    26b2:	9335      	ld.w      	r1, (r3, 0x54)
    26b4:	39c1      	btsti      	r1, 1
    26b6:	0c03      	bf      	0x26bc	// 26bc <EPT0IntHandler+0x24>
		EPT0->ICR=EPT_TRGEV1_INT;
    26b8:	3202      	movi      	r2, 2
    26ba:	07fa      	br      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT)
    26bc:	9335      	ld.w      	r1, (r3, 0x54)
    26be:	39c2      	btsti      	r1, 2
    26c0:	0c03      	bf      	0x26c6	// 26c6 <EPT0IntHandler+0x2e>
		EPT0->ICR=EPT_TRGEV2_INT;
    26c2:	3204      	movi      	r2, 4
    26c4:	07f5      	br      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT)
    26c6:	9335      	ld.w      	r1, (r3, 0x54)
    26c8:	39c3      	btsti      	r1, 3
    26ca:	0c03      	bf      	0x26d0	// 26d0 <EPT0IntHandler+0x38>
		EPT0->ICR=EPT_TRGEV3_INT;
    26cc:	3208      	movi      	r2, 8
    26ce:	07f0      	br      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0)
    26d0:	9335      	ld.w      	r1, (r3, 0x54)
    26d2:	39c4      	btsti      	r1, 4
    26d4:	0c1a      	bf      	0x2708	// 2708 <EPT0IntHandler+0x70>
		EPT0->ICR=EPT_CAP_LD0;
    26d6:	3210      	movi      	r2, 16
    26d8:	b357      	st.w      	r2, (r3, 0x5c)
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT);
    26da:	3101      	movi      	r1, 1
    26dc:	3200      	movi      	r2, 0
    26de:	3000      	movi      	r0, 0
    26e0:	e3fff8c8 	bsr      	0x1870	// 1870 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT);
    26e4:	3201      	movi      	r2, 1
    26e6:	3101      	movi      	r1, 1
    26e8:	3001      	movi      	r0, 1
    26ea:	e3fff8c3 	bsr      	0x1870	// 1870 <EXTI_trigger_CMD>
		R_CMPA_BUF=EPT0->CMPA;			//低电平
    26ee:	9460      	ld.w      	r3, (r4, 0x0)
    26f0:	934b      	ld.w      	r2, (r3, 0x2c)
    26f2:	1267      	lrw      	r3, 0x20000398	// 280c <EPT0IntHandler+0x174>
		R_CMPB_BUF=EPT0->CMPB;			//周期计数值
    26f4:	b340      	st.w      	r2, (r3, 0x0)
	}
	//紧急中断
	if((EPT0->EMMISR&EPT_EP0_EMINT)==EPT_EP0_EMINT)
    26f6:	9460      	ld.w      	r3, (r4, 0x0)
    26f8:	3280      	movi      	r2, 128
    26fa:	60c8      	addu      	r3, r2
    26fc:	932b      	ld.w      	r1, (r3, 0x2c)
    26fe:	39c0      	btsti      	r1, 0
    2700:	0c4d      	bf      	0x279a	// 279a <EPT0IntHandler+0x102>
	{
		EPT0->EMICR=EPT_EP0_EMINT;
    2702:	3201      	movi      	r2, 1
	{
		EPT0->EMICR=EPT_MEM_FAULT_EMINT;
	}
	else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT)
	{
		EPT0->EMICR=EPT_EOM_FAULT_EMINT;
    2704:	b34d      	st.w      	r2, (r3, 0x34)
	}
}
    2706:	047a      	br      	0x27fa	// 27fa <EPT0IntHandler+0x162>
	else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1)
    2708:	9335      	ld.w      	r1, (r3, 0x54)
    270a:	39c5      	btsti      	r1, 5
    270c:	0c11      	bf      	0x272e	// 272e <EPT0IntHandler+0x96>
		EPT0->ICR=EPT_CAP_LD1;
    270e:	3220      	movi      	r2, 32
    2710:	b357      	st.w      	r2, (r3, 0x5c)
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT);
    2712:	3101      	movi      	r1, 1
    2714:	3200      	movi      	r2, 0
    2716:	3001      	movi      	r0, 1
    2718:	e3fff8ac 	bsr      	0x1870	// 1870 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT);
    271c:	3201      	movi      	r2, 1
    271e:	3101      	movi      	r1, 1
    2720:	3000      	movi      	r0, 0
    2722:	e3fff8a7 	bsr      	0x1870	// 1870 <EXTI_trigger_CMD>
		R_CMPB_BUF=EPT0->CMPB;			//周期计数值
    2726:	9460      	ld.w      	r3, (r4, 0x0)
    2728:	934c      	ld.w      	r2, (r3, 0x30)
    272a:	117a      	lrw      	r3, 0x20000390	// 2810 <EPT0IntHandler+0x178>
    272c:	07e4      	br      	0x26f4	// 26f4 <EPT0IntHandler+0x5c>
	else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2)
    272e:	9335      	ld.w      	r1, (r3, 0x54)
    2730:	39c6      	btsti      	r1, 6
    2732:	0c03      	bf      	0x2738	// 2738 <EPT0IntHandler+0xa0>
		EPT0->ICR=EPT_CAP_LD2;
    2734:	3240      	movi      	r2, 64
    2736:	07bc      	br      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3)
    2738:	9335      	ld.w      	r1, (r3, 0x54)
    273a:	39c7      	btsti      	r1, 7
    273c:	0bb9      	bt      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CAU)==EPT_CAU)
    273e:	9335      	ld.w      	r1, (r3, 0x54)
    2740:	3280      	movi      	r2, 128
    2742:	39c8      	btsti      	r1, 8
    2744:	4241      	lsli      	r2, r2, 1
    2746:	0bb4      	bt      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CAD)==EPT_CAD)
    2748:	9355      	ld.w      	r2, (r3, 0x54)
    274a:	3ac9      	btsti      	r2, 9
    274c:	3280      	movi      	r2, 128
    274e:	4242      	lsli      	r2, r2, 2
    2750:	0baf      	bt      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CBU)==EPT_CBU)
    2752:	9335      	ld.w      	r1, (r3, 0x54)
    2754:	3280      	movi      	r2, 128
    2756:	39ca      	btsti      	r1, 10
    2758:	4243      	lsli      	r2, r2, 3
    275a:	0baa      	bt      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CBD)==EPT_CBD)
    275c:	9335      	ld.w      	r1, (r3, 0x54)
    275e:	3280      	movi      	r2, 128
    2760:	39cb      	btsti      	r1, 11
    2762:	4244      	lsli      	r2, r2, 4
    2764:	0ba5      	bt      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CCU)==EPT_CCU)
    2766:	9335      	ld.w      	r1, (r3, 0x54)
    2768:	3280      	movi      	r2, 128
    276a:	39cc      	btsti      	r1, 12
    276c:	4245      	lsli      	r2, r2, 5
    276e:	0ba0      	bt      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CCD)==EPT_CCD)
    2770:	9335      	ld.w      	r1, (r3, 0x54)
    2772:	3280      	movi      	r2, 128
    2774:	39cd      	btsti      	r1, 13
    2776:	4246      	lsli      	r2, r2, 6
    2778:	0b9b      	bt      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CDU)==EPT_CDU)
    277a:	9335      	ld.w      	r1, (r3, 0x54)
    277c:	3280      	movi      	r2, 128
    277e:	39ce      	btsti      	r1, 14
    2780:	4247      	lsli      	r2, r2, 7
    2782:	0b96      	bt      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CDD)==EPT_CDD)
    2784:	9335      	ld.w      	r1, (r3, 0x54)
    2786:	3280      	movi      	r2, 128
    2788:	39cf      	btsti      	r1, 15
    278a:	4248      	lsli      	r2, r2, 8
    278c:	0b91      	bt      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_PEND)==EPT_PEND)
    278e:	9335      	ld.w      	r1, (r3, 0x54)
    2790:	3280      	movi      	r2, 128
    2792:	39d0      	btsti      	r1, 16
    2794:	4249      	lsli      	r2, r2, 9
    2796:	0fb0      	bf      	0x26f6	// 26f6 <EPT0IntHandler+0x5e>
    2798:	078b      	br      	0x26ae	// 26ae <EPT0IntHandler+0x16>
	else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT)
    279a:	932b      	ld.w      	r1, (r3, 0x2c)
    279c:	39c1      	btsti      	r1, 1
    279e:	0c03      	bf      	0x27a4	// 27a4 <EPT0IntHandler+0x10c>
		EPT0->EMICR=EPT_EP1_EMINT;
    27a0:	3202      	movi      	r2, 2
    27a2:	07b1      	br      	0x2704	// 2704 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT)
    27a4:	932b      	ld.w      	r1, (r3, 0x2c)
    27a6:	39c2      	btsti      	r1, 2
    27a8:	0c03      	bf      	0x27ae	// 27ae <EPT0IntHandler+0x116>
		EPT0->EMICR=EPT_EP2_EMINT;
    27aa:	3204      	movi      	r2, 4
    27ac:	07ac      	br      	0x2704	// 2704 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT)
    27ae:	932b      	ld.w      	r1, (r3, 0x2c)
    27b0:	39c3      	btsti      	r1, 3
    27b2:	0c03      	bf      	0x27b8	// 27b8 <EPT0IntHandler+0x120>
		EPT0->EMICR=EPT_EP3_EMINT;
    27b4:	3208      	movi      	r2, 8
    27b6:	07a7      	br      	0x2704	// 2704 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT)
    27b8:	932b      	ld.w      	r1, (r3, 0x2c)
    27ba:	39c4      	btsti      	r1, 4
    27bc:	0c03      	bf      	0x27c2	// 27c2 <EPT0IntHandler+0x12a>
		EPT0->EMICR=EPT_EP4_EMINT;
    27be:	3210      	movi      	r2, 16
    27c0:	07a2      	br      	0x2704	// 2704 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT)
    27c2:	932b      	ld.w      	r1, (r3, 0x2c)
    27c4:	39c5      	btsti      	r1, 5
    27c6:	0c03      	bf      	0x27cc	// 27cc <EPT0IntHandler+0x134>
		EPT0->EMICR=EPT_EP5_EMINT;
    27c8:	3220      	movi      	r2, 32
    27ca:	079d      	br      	0x2704	// 2704 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT)
    27cc:	932b      	ld.w      	r1, (r3, 0x2c)
    27ce:	39c6      	btsti      	r1, 6
    27d0:	0c03      	bf      	0x27d6	// 27d6 <EPT0IntHandler+0x13e>
		EPT0->EMICR=EPT_EP6_EMINT;
    27d2:	3240      	movi      	r2, 64
    27d4:	0798      	br      	0x2704	// 2704 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT)
    27d6:	932b      	ld.w      	r1, (r3, 0x2c)
    27d8:	39c7      	btsti      	r1, 7
    27da:	0b95      	bt      	0x2704	// 2704 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT)
    27dc:	932b      	ld.w      	r1, (r3, 0x2c)
    27de:	3280      	movi      	r2, 128
    27e0:	39c8      	btsti      	r1, 8
    27e2:	4241      	lsli      	r2, r2, 1
    27e4:	0b90      	bt      	0x2704	// 2704 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT)
    27e6:	934b      	ld.w      	r2, (r3, 0x2c)
    27e8:	3ac9      	btsti      	r2, 9
    27ea:	3280      	movi      	r2, 128
    27ec:	4242      	lsli      	r2, r2, 2
    27ee:	0b8b      	bt      	0x2704	// 2704 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT)
    27f0:	932b      	ld.w      	r1, (r3, 0x2c)
    27f2:	3280      	movi      	r2, 128
    27f4:	39ca      	btsti      	r1, 10
    27f6:	4243      	lsli      	r2, r2, 3
    27f8:	0b86      	bt      	0x2704	// 2704 <EPT0IntHandler+0x6c>
}
    27fa:	d9ee2001 	ld.w      	r15, (r14, 0x4)
    27fe:	9880      	ld.w      	r4, (r14, 0x0)
    2800:	1402      	addi      	r14, r14, 8
    2802:	1463      	ipop
    2804:	1461      	nir
    2806:	0000      	bkpt
    2808:	20000020 	.long	0x20000020
    280c:	20000398 	.long	0x20000398
    2810:	20000390 	.long	0x20000390

Disassembly of section .text.WWDTHandler:

00002814 <WWDTHandler>:
//WWDT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void WWDTHandler(void)
{
    2814:	1460      	nie
    2816:	1462      	ipush
    2818:	14d2      	push      	r4-r5, r15
	WWDT->ICR=0X01;
    281a:	10aa      	lrw      	r5, 0x20000010	// 2840 <WWDTHandler+0x2c>
    281c:	3401      	movi      	r4, 1
    281e:	9560      	ld.w      	r3, (r5, 0x0)
    2820:	b385      	st.w      	r4, (r3, 0x14)
	WWDT_CNT_Load(0xFF);
    2822:	30ff      	movi      	r0, 255
    2824:	e3fff912 	bsr      	0x1a48	// 1a48 <WWDT_CNT_Load>
	if((WWDT->MISR&WWDT_EVI)==WWDT_EVI)
    2828:	9560      	ld.w      	r3, (r5, 0x0)
    282a:	9343      	ld.w      	r2, (r3, 0xc)
    282c:	3ac0      	btsti      	r2, 0
    282e:	0c02      	bf      	0x2832	// 2832 <WWDTHandler+0x1e>
	{
		WWDT->ICR = WWDT_EVI;
    2830:	b385      	st.w      	r4, (r3, 0x14)
	} 
}
    2832:	d9ee2002 	ld.w      	r15, (r14, 0x8)
    2836:	98a1      	ld.w      	r5, (r14, 0x4)
    2838:	9880      	ld.w      	r4, (r14, 0x0)
    283a:	1403      	addi      	r14, r14, 12
    283c:	1463      	ipop
    283e:	1461      	nir
    2840:	20000010 	.long	0x20000010

Disassembly of section .text.GPT0IntHandler:

00002844 <GPT0IntHandler>:
//GPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void GPT0IntHandler(void) 
{
    2844:	1460      	nie
    2846:	1462      	ipush
    // ISR content ...
	//Interupt
	if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0)
    2848:	1163      	lrw      	r3, 0x20000024	// 28d4 <GPT0IntHandler+0x90>
    284a:	3280      	movi      	r2, 128
    284c:	9360      	ld.w      	r3, (r3, 0x0)
    284e:	60c8      	addu      	r3, r2
    2850:	9315      	ld.w      	r0, (r3, 0x54)
    2852:	38c0      	btsti      	r0, 0
    2854:	3101      	movi      	r1, 1
    2856:	0c04      	bf      	0x285e	// 285e <GPT0IntHandler+0x1a>
	{
		GPT0->ICR = GPT_INT_TRGEV1;
	}
	else if((GPT0->MISR&GPT_INT_TRGEV2)==GPT_INT_TRGEV2)
	{
		GPT0->ICR = GPT_INT_TRGEV0;
    2858:	b337      	st.w      	r1, (r3, 0x5c)
	}
	else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND)
	{
		GPT0->ICR = GPT_INT_PEND;
	}
}
    285a:	1463      	ipop
    285c:	1461      	nir
	else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1)
    285e:	9315      	ld.w      	r0, (r3, 0x54)
    2860:	38c1      	btsti      	r0, 1
    2862:	0c04      	bf      	0x286a	// 286a <GPT0IntHandler+0x26>
		GPT0->ICR = GPT_INT_TRGEV1;
    2864:	3202      	movi      	r2, 2
		GPT0->ICR = GPT_INT_PEND;
    2866:	b357      	st.w      	r2, (r3, 0x5c)
}
    2868:	07f9      	br      	0x285a	// 285a <GPT0IntHandler+0x16>
	else if((GPT0->MISR&GPT_INT_TRGEV2)==GPT_INT_TRGEV2)
    286a:	9315      	ld.w      	r0, (r3, 0x54)
    286c:	38c2      	btsti      	r0, 2
    286e:	0bf5      	bt      	0x2858	// 2858 <GPT0IntHandler+0x14>
	else if((GPT0->MISR&GPT_TRGEV3)==GPT_INT_TRGEV3)
    2870:	9335      	ld.w      	r1, (r3, 0x54)
    2872:	39c3      	btsti      	r1, 3
    2874:	0c03      	bf      	0x287a	// 287a <GPT0IntHandler+0x36>
		GPT0->ICR = GPT_INT_TRGEV3;
    2876:	3208      	movi      	r2, 8
    2878:	07f7      	br      	0x2866	// 2866 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0)
    287a:	9335      	ld.w      	r1, (r3, 0x54)
    287c:	39c4      	btsti      	r1, 4
    287e:	0c03      	bf      	0x2884	// 2884 <GPT0IntHandler+0x40>
		GPT0->ICR = GPT_INT_CAPLD0;
    2880:	3210      	movi      	r2, 16
    2882:	07f2      	br      	0x2866	// 2866 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1)
    2884:	9335      	ld.w      	r1, (r3, 0x54)
    2886:	39c5      	btsti      	r1, 5
    2888:	0c03      	bf      	0x288e	// 288e <GPT0IntHandler+0x4a>
		GPT0->ICR = GPT_INT_CAPLD1;
    288a:	3220      	movi      	r2, 32
    288c:	07ed      	br      	0x2866	// 2866 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAPLD2)==GPT_INT_CAPLD2)
    288e:	9335      	ld.w      	r1, (r3, 0x54)
    2890:	39c6      	btsti      	r1, 6
    2892:	0c03      	bf      	0x2898	// 2898 <GPT0IntHandler+0x54>
		GPT0->ICR = GPT_INT_CAPLD2;
    2894:	3240      	movi      	r2, 64
    2896:	07e8      	br      	0x2866	// 2866 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAPLD3)==GPT_INT_CAPLD3)
    2898:	9335      	ld.w      	r1, (r3, 0x54)
    289a:	39c7      	btsti      	r1, 7
    289c:	0be5      	bt      	0x2866	// 2866 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU)
    289e:	9335      	ld.w      	r1, (r3, 0x54)
    28a0:	3280      	movi      	r2, 128
    28a2:	39c8      	btsti      	r1, 8
    28a4:	4241      	lsli      	r2, r2, 1
    28a6:	0be0      	bt      	0x2866	// 2866 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD)
    28a8:	9355      	ld.w      	r2, (r3, 0x54)
    28aa:	3ac9      	btsti      	r2, 9
    28ac:	3280      	movi      	r2, 128
    28ae:	4242      	lsli      	r2, r2, 2
    28b0:	0bdb      	bt      	0x2866	// 2866 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU)
    28b2:	9335      	ld.w      	r1, (r3, 0x54)
    28b4:	3280      	movi      	r2, 128
    28b6:	39ca      	btsti      	r1, 10
    28b8:	4243      	lsli      	r2, r2, 3
    28ba:	0bd6      	bt      	0x2866	// 2866 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD)
    28bc:	9335      	ld.w      	r1, (r3, 0x54)
    28be:	3280      	movi      	r2, 128
    28c0:	39cb      	btsti      	r1, 11
    28c2:	4244      	lsli      	r2, r2, 4
    28c4:	0bd1      	bt      	0x2866	// 2866 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND)
    28c6:	9335      	ld.w      	r1, (r3, 0x54)
    28c8:	3280      	movi      	r2, 128
    28ca:	39d0      	btsti      	r1, 16
    28cc:	4249      	lsli      	r2, r2, 9
    28ce:	0bcc      	bt      	0x2866	// 2866 <GPT0IntHandler+0x22>
    28d0:	07c5      	br      	0x285a	// 285a <GPT0IntHandler+0x16>
    28d2:	0000      	bkpt
    28d4:	20000024 	.long	0x20000024

Disassembly of section .text.RTCIntHandler:

000028d8 <RTCIntHandler>:
//RTC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void RTCIntHandler(void) 
{
    28d8:	1460      	nie
    28da:	1462      	ipush
    // ISR content ...
	if((RTC->MISR&ALRA_INT)==ALRA_INT)			//ALRAR 
    28dc:	1076      	lrw      	r3, 0x20000018	// 2934 <RTCIntHandler+0x5c>
    28de:	3101      	movi      	r1, 1
    28e0:	9360      	ld.w      	r3, (r3, 0x0)
    28e2:	934a      	ld.w      	r2, (r3, 0x28)
    28e4:	3ac0      	btsti      	r2, 0
    28e6:	0c12      	bf      	0x290a	// 290a <RTCIntHandler+0x32>
	{
		RTC->ICR=ALRA_INT;
		RTC->KEY=0XCA53;
    28e8:	1054      	lrw      	r2, 0xca53	// 2938 <RTCIntHandler+0x60>
		RTC->ICR=ALRA_INT;
    28ea:	b32b      	st.w      	r1, (r3, 0x2c)
		RTC->KEY=0XCA53;
    28ec:	b34c      	st.w      	r2, (r3, 0x30)
		RTC->CR=RTC->CR|0x01;
    28ee:	9342      	ld.w      	r2, (r3, 0x8)
    28f0:	6c84      	or      	r2, r1
    28f2:	b342      	st.w      	r2, (r3, 0x8)
		RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00);			//Hour bit6->0:am 1:pm	
    28f4:	3280      	movi      	r2, 128
    28f6:	424d      	lsli      	r2, r2, 13
    28f8:	b340      	st.w      	r2, (r3, 0x0)
		while(RTC->CR&0x02);//busy 判断TIMR DATR ALRAR ALRBR数据写完
    28fa:	9342      	ld.w      	r2, (r3, 0x8)
    28fc:	3ac1      	btsti      	r2, 1
    28fe:	0bfe      	bt      	0x28fa	// 28fa <RTCIntHandler+0x22>
		RTC->CR &= ~0x1;
    2900:	9342      	ld.w      	r2, (r3, 0x8)
    2902:	3a80      	bclri      	r2, 0
    2904:	b342      	st.w      	r2, (r3, 0x8)
	}
	else if((RTC->IMCR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT)
	{
		RTC->ICR=RTC_TRGEV1_INT;
	}
}
    2906:	1463      	ipop
    2908:	1461      	nir
	else if((RTC->MISR&ALRB_INT)==ALRB_INT)			//ALRBR				
    290a:	934a      	ld.w      	r2, (r3, 0x28)
    290c:	3ac1      	btsti      	r2, 1
    290e:	0c04      	bf      	0x2916	// 2916 <RTCIntHandler+0x3e>
		RTC->ICR=ALRB_INT;
    2910:	3202      	movi      	r2, 2
		RTC->ICR=RTC_TRGEV1_INT;
    2912:	b34b      	st.w      	r2, (r3, 0x2c)
}
    2914:	07f9      	br      	0x2906	// 2906 <RTCIntHandler+0x2e>
	else if((RTC->IMCR&CPRD_INT)==CPRD_INT)			//CPRD
    2916:	9349      	ld.w      	r2, (r3, 0x24)
    2918:	3ac2      	btsti      	r2, 2
    291a:	0c03      	bf      	0x2920	// 2920 <RTCIntHandler+0x48>
		RTC->ICR=CPRD_INT;
    291c:	3204      	movi      	r2, 4
    291e:	07fa      	br      	0x2912	// 2912 <RTCIntHandler+0x3a>
	else if((RTC->IMCR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT)
    2920:	9349      	ld.w      	r2, (r3, 0x24)
    2922:	3ac3      	btsti      	r2, 3
    2924:	0c03      	bf      	0x292a	// 292a <RTCIntHandler+0x52>
		RTC->ICR=RTC_TRGEV0_INT;
    2926:	3208      	movi      	r2, 8
    2928:	07f5      	br      	0x2912	// 2912 <RTCIntHandler+0x3a>
	else if((RTC->IMCR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT)
    292a:	9349      	ld.w      	r2, (r3, 0x24)
    292c:	3ac4      	btsti      	r2, 4
    292e:	0fec      	bf      	0x2906	// 2906 <RTCIntHandler+0x2e>
		RTC->ICR=RTC_TRGEV1_INT;
    2930:	3210      	movi      	r2, 16
    2932:	07f0      	br      	0x2912	// 2912 <RTCIntHandler+0x3a>
    2934:	20000018 	.long	0x20000018
    2938:	0000ca53 	.long	0x0000ca53

Disassembly of section .text.UART0IntHandler:

0000293c <UART0IntHandler>:
//UART0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0IntHandler(void) 
{
    293c:	1460      	nie
    293e:	1462      	ipush
    // ISR content ...
	//Interupt
	if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S)
    2940:	106f      	lrw      	r3, 0x20000040	// 297c <UART0IntHandler+0x40>
    2942:	9360      	ld.w      	r3, (r3, 0x0)
    2944:	9343      	ld.w      	r2, (r3, 0xc)
    2946:	3ac1      	btsti      	r2, 1
    2948:	0c08      	bf      	0x2958	// 2958 <UART0IntHandler+0x1c>
	{
		UART0->ISR=UART_RX_INT_S;
    294a:	3202      	movi      	r2, 2
    294c:	b343      	st.w      	r2, (r3, 0xc)
		RxDataFlag = TRUE;
    294e:	3201      	movi      	r2, 1
    2950:	106c      	lrw      	r3, 0x200000f4	// 2980 <UART0IntHandler+0x44>
	}
	else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    {
		UART0->ISR=UART_TX_INT_S;
		TxDataFlag = TRUE;
    2952:	a340      	st.b      	r2, (r3, 0x0)
	}
	else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
	{
		UART0->ISR=UART_TX_IOV_S;
	}
}
    2954:	1463      	ipop
    2956:	1461      	nir
	else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    2958:	9343      	ld.w      	r2, (r3, 0xc)
    295a:	3ac0      	btsti      	r2, 0
    295c:	0c05      	bf      	0x2966	// 2966 <UART0IntHandler+0x2a>
		UART0->ISR=UART_TX_INT_S;
    295e:	3201      	movi      	r2, 1
    2960:	b343      	st.w      	r2, (r3, 0xc)
		TxDataFlag = TRUE;
    2962:	1069      	lrw      	r3, 0x200000f5	// 2984 <UART0IntHandler+0x48>
    2964:	07f7      	br      	0x2952	// 2952 <UART0IntHandler+0x16>
	else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)
    2966:	9343      	ld.w      	r2, (r3, 0xc)
    2968:	3ac3      	btsti      	r2, 3
    296a:	0c04      	bf      	0x2972	// 2972 <UART0IntHandler+0x36>
		UART0->ISR=UART_RX_IOV_S;
    296c:	3208      	movi      	r2, 8
		UART0->ISR=UART_TX_IOV_S;
    296e:	b343      	st.w      	r2, (r3, 0xc)
}
    2970:	07f2      	br      	0x2954	// 2954 <UART0IntHandler+0x18>
	else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
    2972:	9343      	ld.w      	r2, (r3, 0xc)
    2974:	3ac2      	btsti      	r2, 2
    2976:	0fef      	bf      	0x2954	// 2954 <UART0IntHandler+0x18>
		UART0->ISR=UART_TX_IOV_S;
    2978:	3204      	movi      	r2, 4
    297a:	07fa      	br      	0x296e	// 296e <UART0IntHandler+0x32>
    297c:	20000040 	.long	0x20000040
    2980:	200000f4 	.long	0x200000f4
    2984:	200000f5 	.long	0x200000f5

Disassembly of section .text.UART1IntHandler:

00002988 <UART1IntHandler>:
//UART1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART1IntHandler(void) 
{
    2988:	1460      	nie
    298a:	1462      	ipush
    // ISR content ...
	//Interupt
	if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S)
    298c:	106f      	lrw      	r3, 0x2000003c	// 29c8 <UART1IntHandler+0x40>
    298e:	9360      	ld.w      	r3, (r3, 0x0)
    2990:	9343      	ld.w      	r2, (r3, 0xc)
    2992:	3ac1      	btsti      	r2, 1
    2994:	0c08      	bf      	0x29a4	// 29a4 <UART1IntHandler+0x1c>
	{
		UART1->ISR=UART_RX_INT_S;
    2996:	3202      	movi      	r2, 2
    2998:	b343      	st.w      	r2, (r3, 0xc)
		RxDataFlag = TRUE;
    299a:	3201      	movi      	r2, 1
    299c:	106c      	lrw      	r3, 0x200000f4	// 29cc <UART1IntHandler+0x44>
	}
	else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    {
		UART1->ISR=UART_TX_INT_S;
		TxDataFlag = TRUE;
    299e:	a340      	st.b      	r2, (r3, 0x0)
	}
	else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
	{
		UART1->ISR=UART_TX_IOV_S;
	}
}
    29a0:	1463      	ipop
    29a2:	1461      	nir
	else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    29a4:	9343      	ld.w      	r2, (r3, 0xc)
    29a6:	3ac0      	btsti      	r2, 0
    29a8:	0c05      	bf      	0x29b2	// 29b2 <UART1IntHandler+0x2a>
		UART1->ISR=UART_TX_INT_S;
    29aa:	3201      	movi      	r2, 1
    29ac:	b343      	st.w      	r2, (r3, 0xc)
		TxDataFlag = TRUE;
    29ae:	1069      	lrw      	r3, 0x200000f5	// 29d0 <UART1IntHandler+0x48>
    29b0:	07f7      	br      	0x299e	// 299e <UART1IntHandler+0x16>
	else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)
    29b2:	9343      	ld.w      	r2, (r3, 0xc)
    29b4:	3ac3      	btsti      	r2, 3
    29b6:	0c04      	bf      	0x29be	// 29be <UART1IntHandler+0x36>
		UART1->ISR=UART_RX_IOV_S;
    29b8:	3208      	movi      	r2, 8
		UART1->ISR=UART_TX_IOV_S;
    29ba:	b343      	st.w      	r2, (r3, 0xc)
}
    29bc:	07f2      	br      	0x29a0	// 29a0 <UART1IntHandler+0x18>
	else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
    29be:	9343      	ld.w      	r2, (r3, 0xc)
    29c0:	3ac2      	btsti      	r2, 2
    29c2:	0fef      	bf      	0x29a0	// 29a0 <UART1IntHandler+0x18>
		UART1->ISR=UART_TX_IOV_S;
    29c4:	3204      	movi      	r2, 4
    29c6:	07fa      	br      	0x29ba	// 29ba <UART1IntHandler+0x32>
    29c8:	2000003c 	.long	0x2000003c
    29cc:	200000f4 	.long	0x200000f4
    29d0:	200000f5 	.long	0x200000f5

Disassembly of section .text.UART2IntHandler:

000029d4 <UART2IntHandler>:
//UART2 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART2IntHandler(void) 
{
    29d4:	1460      	nie
    29d6:	1462      	ipush
    // ISR content ...
	//Interupt
	if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S)
    29d8:	106f      	lrw      	r3, 0x20000038	// 2a14 <UART2IntHandler+0x40>
    29da:	9360      	ld.w      	r3, (r3, 0x0)
    29dc:	9343      	ld.w      	r2, (r3, 0xc)
    29de:	3ac1      	btsti      	r2, 1
    29e0:	0c08      	bf      	0x29f0	// 29f0 <UART2IntHandler+0x1c>
	{
		UART2->ISR=UART_RX_INT_S;
    29e2:	3202      	movi      	r2, 2
    29e4:	b343      	st.w      	r2, (r3, 0xc)
		RxDataFlag = TRUE;
    29e6:	3201      	movi      	r2, 1
    29e8:	106c      	lrw      	r3, 0x200000f4	// 2a18 <UART2IntHandler+0x44>
	}
	else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    {
		UART2->ISR=UART_TX_INT_S;
		TxDataFlag = TRUE;
    29ea:	a340      	st.b      	r2, (r3, 0x0)
	}
	else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
	{
		UART2->ISR=UART_TX_IOV_S;
	}
}
    29ec:	1463      	ipop
    29ee:	1461      	nir
	else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    29f0:	9343      	ld.w      	r2, (r3, 0xc)
    29f2:	3ac0      	btsti      	r2, 0
    29f4:	0c05      	bf      	0x29fe	// 29fe <UART2IntHandler+0x2a>
		UART2->ISR=UART_TX_INT_S;
    29f6:	3201      	movi      	r2, 1
    29f8:	b343      	st.w      	r2, (r3, 0xc)
		TxDataFlag = TRUE;
    29fa:	1069      	lrw      	r3, 0x200000f5	// 2a1c <UART2IntHandler+0x48>
    29fc:	07f7      	br      	0x29ea	// 29ea <UART2IntHandler+0x16>
	else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)
    29fe:	9343      	ld.w      	r2, (r3, 0xc)
    2a00:	3ac3      	btsti      	r2, 3
    2a02:	0c04      	bf      	0x2a0a	// 2a0a <UART2IntHandler+0x36>
		UART2->ISR=UART_RX_IOV_S;
    2a04:	3208      	movi      	r2, 8
		UART2->ISR=UART_TX_IOV_S;
    2a06:	b343      	st.w      	r2, (r3, 0xc)
}
    2a08:	07f2      	br      	0x29ec	// 29ec <UART2IntHandler+0x18>
	else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
    2a0a:	9343      	ld.w      	r2, (r3, 0xc)
    2a0c:	3ac2      	btsti      	r2, 2
    2a0e:	0fef      	bf      	0x29ec	// 29ec <UART2IntHandler+0x18>
		UART2->ISR=UART_TX_IOV_S;
    2a10:	3204      	movi      	r2, 4
    2a12:	07fa      	br      	0x2a06	// 2a06 <UART2IntHandler+0x32>
    2a14:	20000038 	.long	0x20000038
    2a18:	200000f4 	.long	0x200000f4
    2a1c:	200000f5 	.long	0x200000f5

Disassembly of section .text.I2CIntHandler:

00002a20 <I2CIntHandler>:
//I2C Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2CIntHandler(void) 
{
    2a20:	1460      	nie
    2a22:	1462      	ipush
    2a24:	14d0      	push      	r15
    // ISR content ...
	I2C_Slave_Receive();
    2a26:	e3fff91d 	bsr      	0x1c60	// 1c60 <I2C_Slave_Receive>
}
    2a2a:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    2a2e:	1401      	addi      	r14, r14, 4
    2a30:	1463      	ipop
    2a32:	1461      	nir

Disassembly of section .text.SPI0IntHandler:

00002a34 <SPI0IntHandler>:
//SPI Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SPI0IntHandler(void) 
{
    2a34:	1460      	nie
    2a36:	1462      	ipush
    // ISR content ...
	if((SPI0->MISR&SPI_PORIM)==SPI_PORIM)					//Receive Overrun Interrupt
    2a38:	106c      	lrw      	r3, 0x20000034	// 2a68 <SPI0IntHandler+0x34>
    2a3a:	9360      	ld.w      	r3, (r3, 0x0)
    2a3c:	9347      	ld.w      	r2, (r3, 0x1c)
    2a3e:	3ac0      	btsti      	r2, 0
    2a40:	0c05      	bf      	0x2a4a	// 2a4a <SPI0IntHandler+0x16>
	{
		SPI0->ICR = SPI_PORIM;
    2a42:	3201      	movi      	r2, 1
			}
		}*/
	}
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
	{
		SPI0->ICR = SPI_TXIM;
    2a44:	b348      	st.w      	r2, (r3, 0x20)
	}

}
    2a46:	1463      	ipop
    2a48:	1461      	nir
	else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM)				//Receive Timeout Interrupt
    2a4a:	9347      	ld.w      	r2, (r3, 0x1c)
    2a4c:	3ac1      	btsti      	r2, 1
    2a4e:	0c03      	bf      	0x2a54	// 2a54 <SPI0IntHandler+0x20>
		SPI0->ICR = SPI_RTIM;
    2a50:	3202      	movi      	r2, 2
    2a52:	07f9      	br      	0x2a44	// 2a44 <SPI0IntHandler+0x10>
	else if((SPI0->MISR&SPI_RXIM)==SPI_RXIM)				//Receive FIFO Interrupt,FIFO can be set 1/8,1/4,1/2 FIFO Interrupt
    2a54:	9347      	ld.w      	r2, (r3, 0x1c)
    2a56:	3ac2      	btsti      	r2, 2
    2a58:	0c03      	bf      	0x2a5e	// 2a5e <SPI0IntHandler+0x2a>
		SPI0->ICR = SPI_RXIM;
    2a5a:	3204      	movi      	r2, 4
    2a5c:	07f4      	br      	0x2a44	// 2a44 <SPI0IntHandler+0x10>
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
    2a5e:	9347      	ld.w      	r2, (r3, 0x1c)
    2a60:	3ac3      	btsti      	r2, 3
    2a62:	0ff2      	bf      	0x2a46	// 2a46 <SPI0IntHandler+0x12>
		SPI0->ICR = SPI_TXIM;
    2a64:	3208      	movi      	r2, 8
    2a66:	07ef      	br      	0x2a44	// 2a44 <SPI0IntHandler+0x10>
    2a68:	20000034 	.long	0x20000034

Disassembly of section .text.SIO0IntHandler:

00002a6c <SIO0IntHandler>:
//SIO Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SIO0IntHandler(void) 
{
    2a6c:	1460      	nie
    2a6e:	1462      	ipush
		delay_nms(10);
		SIO0->TXBUF=(0x03<<30)|(0x02<<28)|(0x03<<26)|(0x02<<24)|(0x03<<22)|(0x02<<20)|(0x03<<18)|(0x02<<16)|
				(0x01<<14)|(0x00<<12)|(0x01<<10)|(0x00<<8)|(0x01<<6)|(0x00<<4)|(0x01<<2)|(0x0<<0);		//0:D0,1:D1,2:DL,3:DH;	
	}*/
	
	if(SIO0->MISR&0X02)					//RXDNE
    2a70:	107b      	lrw      	r3, 0x2000002c	// 2adc <SIO0IntHandler+0x70>
    2a72:	9360      	ld.w      	r3, (r3, 0x0)
    2a74:	9349      	ld.w      	r2, (r3, 0x24)
    2a76:	3ac1      	btsti      	r2, 1
    2a78:	0c14      	bf      	0x2aa0	// 2aa0 <SIO0IntHandler+0x34>
	{
		SIO0->ICR=0X02;
    2a7a:	3202      	movi      	r2, 2
    2a7c:	b34b      	st.w      	r2, (r3, 0x2c)
		if(R_SIORX_count>=1)
    2a7e:	1019      	lrw      	r0, 0x2000039c	// 2ae0 <SIO0IntHandler+0x74>
    2a80:	9040      	ld.w      	r2, (r0, 0x0)
    2a82:	3a20      	cmplti      	r2, 1
    2a84:	080c      	bt      	0x2a9c	// 2a9c <SIO0IntHandler+0x30>
		{
			R_SIORX_buf[R_SIORX_count]=SIO0->RXBUF&0xff000000;			//8bit
    2a86:	9040      	ld.w      	r2, (r0, 0x0)
    2a88:	9327      	ld.w      	r1, (r3, 0x1c)
    2a8a:	4938      	lsri      	r1, r1, 24
    2a8c:	4262      	lsli      	r3, r2, 2
    2a8e:	1056      	lrw      	r2, 0x200003a0	// 2ae4 <SIO0IntHandler+0x78>
    2a90:	4138      	lsli      	r1, r1, 24
    2a92:	60c8      	addu      	r3, r2
    2a94:	b320      	st.w      	r1, (r3, 0x0)
			nop;
    2a96:	6c03      	mov      	r0, r0
			R_SIORX_count=0;
    2a98:	3300      	movi      	r3, 0
    2a9a:	b060      	st.w      	r3, (r0, 0x0)
	}
	else if(SIO0->MISR&0X020)				//TIMEOUT
	{
		SIO0->ICR=0X20;
	}
}
    2a9c:	1463      	ipop
    2a9e:	1461      	nir
	else if(SIO0->MISR&0X08)					//RXBUFFULL	
    2aa0:	9349      	ld.w      	r2, (r3, 0x24)
    2aa2:	3ac3      	btsti      	r2, 3
    2aa4:	0c11      	bf      	0x2ac6	// 2ac6 <SIO0IntHandler+0x5a>
		SIO0->ICR=0X08;
    2aa6:	3208      	movi      	r2, 8
    2aa8:	b34b      	st.w      	r2, (r3, 0x2c)
		if(R_SIORX_count<1)
    2aaa:	102e      	lrw      	r1, 0x2000039c	// 2ae0 <SIO0IntHandler+0x74>
    2aac:	9140      	ld.w      	r2, (r1, 0x0)
    2aae:	3a20      	cmplti      	r2, 1
    2ab0:	0ff6      	bf      	0x2a9c	// 2a9c <SIO0IntHandler+0x30>
			R_SIORX_buf[R_SIORX_count]=SIO0->RXBUF;				//32bit
    2ab2:	9140      	ld.w      	r2, (r1, 0x0)
    2ab4:	9307      	ld.w      	r0, (r3, 0x1c)
    2ab6:	4262      	lsli      	r3, r2, 2
    2ab8:	104b      	lrw      	r2, 0x200003a0	// 2ae4 <SIO0IntHandler+0x78>
    2aba:	60c8      	addu      	r3, r2
    2abc:	b300      	st.w      	r0, (r3, 0x0)
			R_SIORX_count++;
    2abe:	9160      	ld.w      	r3, (r1, 0x0)
    2ac0:	2300      	addi      	r3, 1
    2ac2:	b160      	st.w      	r3, (r1, 0x0)
    2ac4:	07ec      	br      	0x2a9c	// 2a9c <SIO0IntHandler+0x30>
	else if(SIO0->MISR&0X010)				//BREAK
    2ac6:	9349      	ld.w      	r2, (r3, 0x24)
    2ac8:	3ac4      	btsti      	r2, 4
    2aca:	0c04      	bf      	0x2ad2	// 2ad2 <SIO0IntHandler+0x66>
		SIO0->ICR=0X10;
    2acc:	3210      	movi      	r2, 16
		SIO0->ICR=0X20;
    2ace:	b34b      	st.w      	r2, (r3, 0x2c)
}
    2ad0:	07e6      	br      	0x2a9c	// 2a9c <SIO0IntHandler+0x30>
	else if(SIO0->MISR&0X020)				//TIMEOUT
    2ad2:	9349      	ld.w      	r2, (r3, 0x24)
    2ad4:	3ac5      	btsti      	r2, 5
    2ad6:	0fe3      	bf      	0x2a9c	// 2a9c <SIO0IntHandler+0x30>
		SIO0->ICR=0X20;
    2ad8:	3220      	movi      	r2, 32
    2ada:	07fa      	br      	0x2ace	// 2ace <SIO0IntHandler+0x62>
    2adc:	2000002c 	.long	0x2000002c
    2ae0:	2000039c 	.long	0x2000039c
    2ae4:	200003a0 	.long	0x200003a0

Disassembly of section .text.EXI0IntHandler:

00002ae8 <EXI0IntHandler>:
//EXT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI0IntHandler(void) 
{
    2ae8:	1460      	nie
    2aea:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) 
    2aec:	1065      	lrw      	r3, 0x20000058	// 2b00 <EXI0IntHandler+0x18>
    2aee:	9360      	ld.w      	r3, (r3, 0x0)
    2af0:	237f      	addi      	r3, 128
    2af2:	934c      	ld.w      	r2, (r3, 0x30)
    2af4:	3ac0      	btsti      	r2, 0
    2af6:	0c03      	bf      	0x2afc	// 2afc <EXI0IntHandler+0x14>
	{
		SYSCON->EXICR = EXI_PIN0;
    2af8:	3201      	movi      	r2, 1
    2afa:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    2afc:	1463      	ipop
    2afe:	1461      	nir
    2b00:	20000058 	.long	0x20000058

Disassembly of section .text.EXI1IntHandler:

00002b04 <EXI1IntHandler>:
//EXT1Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI1IntHandler(void) 
{
    2b04:	1460      	nie
    2b06:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN1)==EXI_PIN1) 
    2b08:	1065      	lrw      	r3, 0x20000058	// 2b1c <EXI1IntHandler+0x18>
    2b0a:	9360      	ld.w      	r3, (r3, 0x0)
    2b0c:	237f      	addi      	r3, 128
    2b0e:	934c      	ld.w      	r2, (r3, 0x30)
    2b10:	3ac1      	btsti      	r2, 1
    2b12:	0c03      	bf      	0x2b18	// 2b18 <EXI1IntHandler+0x14>
	{
		SYSCON->EXICR = EXI_PIN1;
    2b14:	3202      	movi      	r2, 2
    2b16:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    2b18:	1463      	ipop
    2b1a:	1461      	nir
    2b1c:	20000058 	.long	0x20000058

Disassembly of section .text.EXI2to3IntHandler:

00002b20 <EXI2to3IntHandler>:
//EXI2 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI2to3IntHandler(void) 
{
    2b20:	1460      	nie
    2b22:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) 
    2b24:	1068      	lrw      	r3, 0x20000058	// 2b44 <EXI2to3IntHandler+0x24>
    2b26:	9360      	ld.w      	r3, (r3, 0x0)
    2b28:	237f      	addi      	r3, 128
    2b2a:	934c      	ld.w      	r2, (r3, 0x30)
    2b2c:	3ac2      	btsti      	r2, 2
    2b2e:	0c05      	bf      	0x2b38	// 2b38 <EXI2to3IntHandler+0x18>
	{
		SYSCON->EXICR = EXI_PIN2;
    2b30:	3204      	movi      	r2, 4
	} 
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 
	{
		SYSCON->EXICR = EXI_PIN3;
    2b32:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    2b34:	1463      	ipop
    2b36:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 
    2b38:	934c      	ld.w      	r2, (r3, 0x30)
    2b3a:	3ac3      	btsti      	r2, 3
    2b3c:	0ffc      	bf      	0x2b34	// 2b34 <EXI2to3IntHandler+0x14>
		SYSCON->EXICR = EXI_PIN3;
    2b3e:	3208      	movi      	r2, 8
    2b40:	07f9      	br      	0x2b32	// 2b32 <EXI2to3IntHandler+0x12>
    2b42:	0000      	bkpt
    2b44:	20000058 	.long	0x20000058

Disassembly of section .text.EXI4to9IntHandler:

00002b48 <EXI4to9IntHandler>:
//EXI3 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI4to9IntHandler(void) 
{
    2b48:	1460      	nie
    2b4a:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) 
    2b4c:	1072      	lrw      	r3, 0x20000058	// 2b94 <EXI4to9IntHandler+0x4c>
    2b4e:	3280      	movi      	r2, 128
    2b50:	9360      	ld.w      	r3, (r3, 0x0)
    2b52:	60c8      	addu      	r3, r2
    2b54:	932c      	ld.w      	r1, (r3, 0x30)
    2b56:	39c4      	btsti      	r1, 4
    2b58:	0c04      	bf      	0x2b60	// 2b60 <EXI4to9IntHandler+0x18>
	{
		SYSCON->EXICR = EXI_PIN4;
    2b5a:	3210      	movi      	r2, 16
	{
		SYSCON->EXICR = EXI_PIN8;
	}
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 
	{
		SYSCON->EXICR = EXI_PIN9;
    2b5c:	b34b      	st.w      	r2, (r3, 0x2c)
	} 

}
    2b5e:	0418      	br      	0x2b8e	// 2b8e <EXI4to9IntHandler+0x46>
	else if ((SYSCON->EXIRS&EXI_PIN5)==EXI_PIN5) 
    2b60:	932c      	ld.w      	r1, (r3, 0x30)
    2b62:	39c5      	btsti      	r1, 5
    2b64:	0c03      	bf      	0x2b6a	// 2b6a <EXI4to9IntHandler+0x22>
		SYSCON->EXICR = EXI_PIN5;
    2b66:	3220      	movi      	r2, 32
    2b68:	07fa      	br      	0x2b5c	// 2b5c <EXI4to9IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) 
    2b6a:	932c      	ld.w      	r1, (r3, 0x30)
    2b6c:	39c6      	btsti      	r1, 6
    2b6e:	0c03      	bf      	0x2b74	// 2b74 <EXI4to9IntHandler+0x2c>
		SYSCON->EXICR = EXI_PIN6;
    2b70:	3240      	movi      	r2, 64
    2b72:	07f5      	br      	0x2b5c	// 2b5c <EXI4to9IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN7)==EXI_PIN7) 
    2b74:	932c      	ld.w      	r1, (r3, 0x30)
    2b76:	39c7      	btsti      	r1, 7
    2b78:	0bf2      	bt      	0x2b5c	// 2b5c <EXI4to9IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN8)==EXI_PIN8) 
    2b7a:	932c      	ld.w      	r1, (r3, 0x30)
    2b7c:	3280      	movi      	r2, 128
    2b7e:	39c8      	btsti      	r1, 8
    2b80:	4241      	lsli      	r2, r2, 1
    2b82:	0bed      	bt      	0x2b5c	// 2b5c <EXI4to9IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 
    2b84:	932c      	ld.w      	r1, (r3, 0x30)
    2b86:	3280      	movi      	r2, 128
    2b88:	39c9      	btsti      	r1, 9
    2b8a:	4242      	lsli      	r2, r2, 2
    2b8c:	0be8      	bt      	0x2b5c	// 2b5c <EXI4to9IntHandler+0x14>
}
    2b8e:	1463      	ipop
    2b90:	1461      	nir
    2b92:	0000      	bkpt
    2b94:	20000058 	.long	0x20000058

Disassembly of section .text.EXI10to15IntHandler:

00002b98 <EXI10to15IntHandler>:
//EXI4 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI10to15IntHandler(void) 
{
    2b98:	1460      	nie
    2b9a:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) 
    2b9c:	1073      	lrw      	r3, 0x20000058	// 2be8 <EXI10to15IntHandler+0x50>
    2b9e:	3280      	movi      	r2, 128
    2ba0:	9360      	ld.w      	r3, (r3, 0x0)
    2ba2:	237f      	addi      	r3, 128
    2ba4:	932c      	ld.w      	r1, (r3, 0x30)
    2ba6:	39ca      	btsti      	r1, 10
    2ba8:	4243      	lsli      	r2, r2, 3
    2baa:	0c03      	bf      	0x2bb0	// 2bb0 <EXI10to15IntHandler+0x18>
	{
		SYSCON->EXICR = EXI_PIN14;
	}
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 
	{
		SYSCON->EXICR = EXI_PIN15;
    2bac:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    2bae:	041a      	br      	0x2be2	// 2be2 <EXI10to15IntHandler+0x4a>
	else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) 
    2bb0:	932c      	ld.w      	r1, (r3, 0x30)
    2bb2:	3280      	movi      	r2, 128
    2bb4:	39cb      	btsti      	r1, 11
    2bb6:	4244      	lsli      	r2, r2, 4
    2bb8:	0bfa      	bt      	0x2bac	// 2bac <EXI10to15IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) 
    2bba:	932c      	ld.w      	r1, (r3, 0x30)
    2bbc:	3280      	movi      	r2, 128
    2bbe:	39cc      	btsti      	r1, 12
    2bc0:	4245      	lsli      	r2, r2, 5
    2bc2:	0bf5      	bt      	0x2bac	// 2bac <EXI10to15IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN13)==EXI_PIN13) 
    2bc4:	932c      	ld.w      	r1, (r3, 0x30)
    2bc6:	3280      	movi      	r2, 128
    2bc8:	39cd      	btsti      	r1, 13
    2bca:	4246      	lsli      	r2, r2, 6
    2bcc:	0bf0      	bt      	0x2bac	// 2bac <EXI10to15IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) 
    2bce:	932c      	ld.w      	r1, (r3, 0x30)
    2bd0:	3280      	movi      	r2, 128
    2bd2:	39ce      	btsti      	r1, 14
    2bd4:	4247      	lsli      	r2, r2, 7
    2bd6:	0beb      	bt      	0x2bac	// 2bac <EXI10to15IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 
    2bd8:	932c      	ld.w      	r1, (r3, 0x30)
    2bda:	3280      	movi      	r2, 128
    2bdc:	39cf      	btsti      	r1, 15
    2bde:	4248      	lsli      	r2, r2, 8
    2be0:	0be6      	bt      	0x2bac	// 2bac <EXI10to15IntHandler+0x14>
}
    2be2:	1463      	ipop
    2be4:	1461      	nir
    2be6:	0000      	bkpt
    2be8:	20000058 	.long	0x20000058

Disassembly of section .text.LPTIntHandler:

00002bec <LPTIntHandler>:
//LPT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void LPTIntHandler(void) 
{
    2bec:	1460      	nie
    2bee:	1462      	ipush
    // ISR content ...
	//Interupt
	if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0)
    2bf0:	106a      	lrw      	r3, 0x20000014	// 2c18 <LPTIntHandler+0x2c>
    2bf2:	9360      	ld.w      	r3, (r3, 0x0)
    2bf4:	934e      	ld.w      	r2, (r3, 0x38)
    2bf6:	3ac0      	btsti      	r2, 0
    2bf8:	0c05      	bf      	0x2c02	// 2c02 <LPTIntHandler+0x16>
	{
		LPT->ICR = LPT_TRGEV0;
    2bfa:	3201      	movi      	r2, 1
	{
		LPT->ICR = LPT_MATCH;
	}
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)
	{
		LPT->ICR = LPT_PEND;
    2bfc:	b350      	st.w      	r2, (r3, 0x40)
	}
}
    2bfe:	1463      	ipop
    2c00:	1461      	nir
	else if((LPT->MISR&LPT_MATCH)==LPT_MATCH)
    2c02:	934e      	ld.w      	r2, (r3, 0x38)
    2c04:	3ac1      	btsti      	r2, 1
    2c06:	0c03      	bf      	0x2c0c	// 2c0c <LPTIntHandler+0x20>
		LPT->ICR = LPT_MATCH;
    2c08:	3202      	movi      	r2, 2
    2c0a:	07f9      	br      	0x2bfc	// 2bfc <LPTIntHandler+0x10>
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)
    2c0c:	934e      	ld.w      	r2, (r3, 0x38)
    2c0e:	3ac2      	btsti      	r2, 2
    2c10:	0ff7      	bf      	0x2bfe	// 2bfe <LPTIntHandler+0x12>
		LPT->ICR = LPT_PEND;
    2c12:	3204      	movi      	r2, 4
    2c14:	07f4      	br      	0x2bfc	// 2bfc <LPTIntHandler+0x10>
    2c16:	0000      	bkpt
    2c18:	20000014 	.long	0x20000014

Disassembly of section .text.BT0IntHandler:

00002c1c <BT0IntHandler>:
//BT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT0IntHandler(void) 
{
    2c1c:	1460      	nie
    2c1e:	1462      	ipush
    // ISR content ...
	if((BT0->MISR&BT_PEND)==BT_PEND)
    2c20:	106c      	lrw      	r3, 0x2000000c	// 2c50 <BT0IntHandler+0x34>
    2c22:	9360      	ld.w      	r3, (r3, 0x0)
    2c24:	934c      	ld.w      	r2, (r3, 0x30)
    2c26:	3ac0      	btsti      	r2, 0
    2c28:	0c05      	bf      	0x2c32	// 2c32 <BT0IntHandler+0x16>
	{
		BT0->ICR = BT_PEND;
    2c2a:	3201      	movi      	r2, 1
	{
		BT0->ICR = BT_OVF;
	} 
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)
	{
		BT0->ICR = BT_EVTRG;
    2c2c:	b34d      	st.w      	r2, (r3, 0x34)
	} 
}
    2c2e:	1463      	ipop
    2c30:	1461      	nir
	else if((BT0->MISR&BT_CMP)==BT_CMP)
    2c32:	934c      	ld.w      	r2, (r3, 0x30)
    2c34:	3ac1      	btsti      	r2, 1
    2c36:	0c03      	bf      	0x2c3c	// 2c3c <BT0IntHandler+0x20>
		BT0->ICR = BT_CMP;
    2c38:	3202      	movi      	r2, 2
    2c3a:	07f9      	br      	0x2c2c	// 2c2c <BT0IntHandler+0x10>
	else if((BT0->MISR&BT_OVF)==BT_OVF)
    2c3c:	934c      	ld.w      	r2, (r3, 0x30)
    2c3e:	3ac2      	btsti      	r2, 2
    2c40:	0c03      	bf      	0x2c46	// 2c46 <BT0IntHandler+0x2a>
		BT0->ICR = BT_OVF;
    2c42:	3204      	movi      	r2, 4
    2c44:	07f4      	br      	0x2c2c	// 2c2c <BT0IntHandler+0x10>
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)
    2c46:	934c      	ld.w      	r2, (r3, 0x30)
    2c48:	3ac3      	btsti      	r2, 3
    2c4a:	0ff2      	bf      	0x2c2e	// 2c2e <BT0IntHandler+0x12>
		BT0->ICR = BT_EVTRG;
    2c4c:	3208      	movi      	r2, 8
    2c4e:	07ef      	br      	0x2c2c	// 2c2c <BT0IntHandler+0x10>
    2c50:	2000000c 	.long	0x2000000c

Disassembly of section .text.BT1IntHandler:

00002c54 <BT1IntHandler>:
//BT1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT1IntHandler(void) 
{
    2c54:	1460      	nie
    2c56:	1462      	ipush
    // ISR content ...
	if((BT1->MISR&BT_PEND)==BT_PEND)
    2c58:	106d      	lrw      	r3, 0x20000008	// 2c8c <BT1IntHandler+0x38>
    2c5a:	9360      	ld.w      	r3, (r3, 0x0)
    2c5c:	934c      	ld.w      	r2, (r3, 0x30)
    2c5e:	3ac0      	btsti      	r2, 0
    2c60:	0c05      	bf      	0x2c6a	// 2c6a <BT1IntHandler+0x16>
	{
		BT1->ICR = BT_PEND;
    2c62:	3201      	movi      	r2, 1
	{
		BT1->ICR = BT_OVF;
	} 
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)
	{
		BT1->ICR = BT_EVTRG;
    2c64:	b34d      	st.w      	r2, (r3, 0x34)
	} 
}
    2c66:	1463      	ipop
    2c68:	1461      	nir
	else if((BT0->MISR&BT_CMP)==BT_CMP)
    2c6a:	104a      	lrw      	r2, 0x2000000c	// 2c90 <BT1IntHandler+0x3c>
    2c6c:	9240      	ld.w      	r2, (r2, 0x0)
    2c6e:	922c      	ld.w      	r1, (r2, 0x30)
    2c70:	39c1      	btsti      	r1, 1
    2c72:	0c03      	bf      	0x2c78	// 2c78 <BT1IntHandler+0x24>
		BT1->ICR = BT_CMP;
    2c74:	3202      	movi      	r2, 2
    2c76:	07f7      	br      	0x2c64	// 2c64 <BT1IntHandler+0x10>
	else if((BT0->MISR&BT_OVF)==BT_OVF)
    2c78:	922c      	ld.w      	r1, (r2, 0x30)
    2c7a:	39c2      	btsti      	r1, 2
    2c7c:	0c03      	bf      	0x2c82	// 2c82 <BT1IntHandler+0x2e>
		BT1->ICR = BT_OVF;
    2c7e:	3204      	movi      	r2, 4
    2c80:	07f2      	br      	0x2c64	// 2c64 <BT1IntHandler+0x10>
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)
    2c82:	924c      	ld.w      	r2, (r2, 0x30)
    2c84:	3ac3      	btsti      	r2, 3
    2c86:	0ff0      	bf      	0x2c66	// 2c66 <BT1IntHandler+0x12>
		BT1->ICR = BT_EVTRG;
    2c88:	3208      	movi      	r2, 8
    2c8a:	07ed      	br      	0x2c64	// 2c64 <BT1IntHandler+0x10>
    2c8c:	20000008 	.long	0x20000008
    2c90:	2000000c 	.long	0x2000000c

Disassembly of section .text.PriviledgeVioHandler:

00002c94 <PriviledgeVioHandler>:
    2c94:	783c      	jmp      	r15

Disassembly of section .text.PendTrapHandler:

00002c96 <PendTrapHandler>:
    // ISR content ...

}

void PendTrapHandler(void) 
{
    2c96:	1460      	nie
    2c98:	1462      	ipush
    // ISR content ...

}
    2c9a:	1463      	ipop
    2c9c:	1461      	nir

Disassembly of section .text.Trap3Handler:

00002c9e <Trap3Handler>:
    2c9e:	1460      	nie
    2ca0:	1462      	ipush
    2ca2:	1463      	ipop
    2ca4:	1461      	nir

Disassembly of section .text.Trap2Handler:

00002ca6 <Trap2Handler>:
    2ca6:	1460      	nie
    2ca8:	1462      	ipush
    2caa:	1463      	ipop
    2cac:	1461      	nir

Disassembly of section .text.Trap1Handler:

00002cae <Trap1Handler>:
    2cae:	1460      	nie
    2cb0:	1462      	ipush
    2cb2:	1463      	ipop
    2cb4:	1461      	nir

Disassembly of section .text.Trap0Handler:

00002cb6 <Trap0Handler>:
    2cb6:	1460      	nie
    2cb8:	1462      	ipush
    2cba:	1463      	ipop
    2cbc:	1461      	nir

Disassembly of section .text.UnrecExecpHandler:

00002cbe <UnrecExecpHandler>:
    2cbe:	1460      	nie
    2cc0:	1462      	ipush
    2cc2:	1463      	ipop
    2cc4:	1461      	nir

Disassembly of section .text.BreakPointHandler:

00002cc6 <BreakPointHandler>:
    2cc6:	1460      	nie
    2cc8:	1462      	ipush
    2cca:	1463      	ipop
    2ccc:	1461      	nir

Disassembly of section .text.AccessErrHandler:

00002cce <AccessErrHandler>:
    2cce:	1460      	nie
    2cd0:	1462      	ipush
    2cd2:	1463      	ipop
    2cd4:	1461      	nir

Disassembly of section .text.IllegalInstrHandler:

00002cd6 <IllegalInstrHandler>:
    2cd6:	1460      	nie
    2cd8:	1462      	ipush
    2cda:	1463      	ipop
    2cdc:	1461      	nir

Disassembly of section .text.MisalignedHandler:

00002cde <MisalignedHandler>:
    2cde:	1460      	nie
    2ce0:	1462      	ipush
    2ce2:	1463      	ipop
    2ce4:	1461      	nir

Disassembly of section .text.CNTAIntHandler:

00002ce6 <CNTAIntHandler>:
    2ce6:	1460      	nie
    2ce8:	1462      	ipush
    2cea:	1463      	ipop
    2cec:	1461      	nir

Disassembly of section .text.ADCIntHandler:

00002cee <ADCIntHandler>:
    2cee:	1460      	nie
    2cf0:	1462      	ipush
    2cf2:	1463      	ipop
    2cf4:	1461      	nir

Disassembly of section .text.startup.main:

00002cf6 <main>:
extern void delay_nms(unsigned int t);
extern void APT32F102_init(void);	


int main(void) 
{
    2cf6:	14d0      	push      	r15
	delay_nms(100);
    2cf8:	3064      	movi      	r0, 100
    2cfa:	e3fffaeb 	bsr      	0x22d0	// 22d0 <delay_nms>
	APT32F102_init();
    2cfe:	e3fffbd5 	bsr      	0x24a8	// 24a8 <APT32F102_init>
	App_Init();
    2d02:	e0000279 	bsr      	0x31f4	// 31f4 <App_Init>
	
    while(1)
	{
		SYSCON_IWDCNT_Reload();
    2d06:	e3fff58f 	bsr      	0x1824	// 1824 <SYSCON_IWDCNT_Reload>
		
		App_Main();
    2d0a:	e0000287 	bsr      	0x3218	// 3218 <App_Main>
    2d0e:	07fc      	br      	0x2d06	// 2d06 <main+0x10>

Disassembly of section .text.__divsi3:

00002d10 <__divsi3>:
CSP_HWD_T   	*HWD      = (CSP_HWD_T  *)APB_HWDBase ;



int __divsi3 (  int a,   int b)
{   
    2d10:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    2d12:	c0006023 	mfcr      	r3, cr<0, 0>
    2d16:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );

	HWD->CR = 0;
    2d1a:	1046      	lrw      	r2, 0x20000000	// 2d30 <__divsi3+0x20>
    2d1c:	3400      	movi      	r4, 0
    2d1e:	9240      	ld.w      	r2, (r2, 0x0)
    2d20:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    2d22:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    2d24:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    2d26:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    2d28:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);
					
	return HWD->QUOTIENT;
    2d2c:	9202      	ld.w      	r0, (r2, 0x8)
}
    2d2e:	1481      	pop      	r4
    2d30:	20000000 	.long	0x20000000

Disassembly of section .text.__udivsi3:

00002d34 <__udivsi3>:

 unsigned int __udivsi3 ( unsigned int a,  unsigned int b)
{   
    2d34:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    2d36:	c0006023 	mfcr      	r3, cr<0, 0>
    2d3a:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 1;
    2d3e:	1046      	lrw      	r2, 0x20000000	// 2d54 <__udivsi3+0x20>
    2d40:	3401      	movi      	r4, 1
    2d42:	9240      	ld.w      	r2, (r2, 0x0)
    2d44:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    2d46:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    2d48:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    2d4a:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    2d4c:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);

	return HWD->QUOTIENT;
    2d50:	9202      	ld.w      	r0, (r2, 0x8)
}
    2d52:	1481      	pop      	r4
    2d54:	20000000 	.long	0x20000000

Disassembly of section .text.__modsi3:

00002d58 <__modsi3>:

int __modsi3 ( int a,  int b)
{   
    2d58:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    2d5a:	c0006023 	mfcr      	r3, cr<0, 0>
    2d5e:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 0;
    2d62:	1046      	lrw      	r2, 0x20000000	// 2d78 <__modsi3+0x20>
    2d64:	3400      	movi      	r4, 0
    2d66:	9240      	ld.w      	r2, (r2, 0x0)
    2d68:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    2d6a:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    2d6c:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    2d6e:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    2d70:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);	
	return HWD->REMAIN;
    2d74:	9203      	ld.w      	r0, (r2, 0xc)
}
    2d76:	1481      	pop      	r4
    2d78:	20000000 	.long	0x20000000

Disassembly of section .text.__umodsi3:

00002d7c <__umodsi3>:

unsigned int __umodsi3 ( unsigned int a,  unsigned int b)
{   
    2d7c:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    2d7e:	c0006023 	mfcr      	r3, cr<0, 0>
    2d82:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 1;
    2d86:	1046      	lrw      	r2, 0x20000000	// 2d9c <__umodsi3+0x20>
    2d88:	3401      	movi      	r4, 1
    2d8a:	9240      	ld.w      	r2, (r2, 0x0)
    2d8c:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    2d8e:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    2d90:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    2d92:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    2d94:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);	
	return HWD->REMAIN;
    2d98:	9203      	ld.w      	r0, (r2, 0xc)
}
    2d9a:	1481      	pop      	r4
    2d9c:	20000000 	.long	0x20000000

Disassembly of section .text.CK_CPU_EnAllNormalIrq:

00002da0 <CK_CPU_EnAllNormalIrq>:
}


void CK_CPU_EnAllNormalIrq(void)
{
  asm  ("psrset ee,ie");
    2da0:	c1807420 	psrset      	ee, ie
}
    2da4:	783c      	jmp      	r15

Disassembly of section .text.NT_GPIO_Init:

00002da8 <NT_GPIO_Init>:
#define Tube_Bars 19 //-
uint8_t icon_Bars = 0;


void NT_GPIO_Init(void)
{
    2da8:	14d2      	push      	r4-r5, r15
    GPIO_Init(GPIOA0,IO_Tube_Seg0,Output);
    2daa:	1180      	lrw      	r4, 0x2000004c	// 2e28 <NT_GPIO_Init+0x80>
    2dac:	3200      	movi      	r2, 0
    2dae:	9400      	ld.w      	r0, (r4, 0x0)
    2db0:	3103      	movi      	r1, 3
    2db2:	e3fff5bf 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Tube_Seg1,Output);
    2db6:	9400      	ld.w      	r0, (r4, 0x0)
    2db8:	3200      	movi      	r2, 0
    2dba:	3101      	movi      	r1, 1
    2dbc:	e3fff5ba 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Tube_Seg2,Output);
    2dc0:	9400      	ld.w      	r0, (r4, 0x0)
    2dc2:	3200      	movi      	r2, 0
    2dc4:	3100      	movi      	r1, 0
    2dc6:	e3fff5b5 	bsr      	0x1930	// 1930 <GPIO_Init>
	GPIO_Init(GPIOA0,IO_Tube_Seg3,Output);
    GPIO_Init(GPIOB0,IO_Tube_Seg4,Output);
    2dca:	10b9      	lrw      	r5, 0x20000048	// 2e2c <NT_GPIO_Init+0x84>
	GPIO_Init(GPIOA0,IO_Tube_Seg3,Output);
    2dcc:	3200      	movi      	r2, 0
    2dce:	9400      	ld.w      	r0, (r4, 0x0)
    2dd0:	310f      	movi      	r1, 15
    2dd2:	e3fff5af 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOB0,IO_Tube_Seg4,Output);
    2dd6:	9500      	ld.w      	r0, (r5, 0x0)
    2dd8:	3200      	movi      	r2, 0
    2dda:	3105      	movi      	r1, 5
    2ddc:	e3fff5aa 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOB0,IO_Tube_Seg5,Output);
    2de0:	9500      	ld.w      	r0, (r5, 0x0)
    2de2:	3200      	movi      	r2, 0
    2de4:	3104      	movi      	r1, 4
    2de6:	e3fff5a5 	bsr      	0x1930	// 1930 <GPIO_Init>
	GPIO_Init(GPIOB0,IO_Tube_Seg6,Output);
    2dea:	9500      	ld.w      	r0, (r5, 0x0)
    2dec:	3200      	movi      	r2, 0
    2dee:	3101      	movi      	r1, 1
    2df0:	e3fff5a0 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Tube_Seg7,Output);
    2df4:	9400      	ld.w      	r0, (r4, 0x0)
    2df6:	3200      	movi      	r2, 0
    2df8:	310e      	movi      	r1, 14
    2dfa:	e3fff59b 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOB0,IO_Tube_Com0,Output);
    2dfe:	9500      	ld.w      	r0, (r5, 0x0)
    2e00:	3200      	movi      	r2, 0
    2e02:	3100      	movi      	r1, 0
    2e04:	e3fff596 	bsr      	0x1930	// 1930 <GPIO_Init>
	GPIO_Init(GPIOA0,IO_Tube_Com1,Output);
    2e08:	9400      	ld.w      	r0, (r4, 0x0)
    2e0a:	3200      	movi      	r2, 0
    2e0c:	310d      	movi      	r1, 13
    2e0e:	e3fff591 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Tube_Com2,Output);
    2e12:	9400      	ld.w      	r0, (r4, 0x0)
    2e14:	3200      	movi      	r2, 0
    2e16:	310c      	movi      	r1, 12
    2e18:	e3fff58c 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Tube_Com3,Output);
    2e1c:	9400      	ld.w      	r0, (r4, 0x0)
    2e1e:	3200      	movi      	r2, 0
    2e20:	3104      	movi      	r1, 4
    2e22:	e3fff587 	bsr      	0x1930	// 1930 <GPIO_Init>
}
    2e26:	1492      	pop      	r4-r5, r15
    2e28:	2000004c 	.long	0x2000004c
    2e2c:	20000048 	.long	0x20000048

Disassembly of section .text.NT_GPIO_Write:

00002e30 <NT_GPIO_Write>:
void NT_GPIO_Write(uint8_t seq,uint8_t level)
{
    2e30:	14d0      	push      	r15
    2e32:	6c83      	mov      	r2, r0
	CSP_GPIO_T* temp;
	
	temp = GPIOA0;
    2e34:	106a      	lrw      	r3, 0x2000004c	// 2e5c <NT_GPIO_Write+0x2c>
    2e36:	9300      	ld.w      	r0, (r3, 0x0)
	if((seq == 4) || (seq == 5) || (seq == 6)) temp = GPIOB0;
    2e38:	5a6f      	subi      	r3, r2, 4
    2e3a:	74cc      	zextb      	r3, r3
    2e3c:	3b02      	cmphsi      	r3, 3
    2e3e:	0803      	bt      	0x2e44	// 2e44 <NT_GPIO_Write+0x14>
    2e40:	1068      	lrw      	r3, 0x20000048	// 2e60 <NT_GPIO_Write+0x30>
    2e42:	9300      	ld.w      	r0, (r3, 0x0)
    2e44:	1068      	lrw      	r3, 0x4bec	// 2e64 <NT_GPIO_Write+0x34>
    2e46:	4242      	lsli      	r2, r2, 2
	if(level == 0) GPIO_Write_Low(temp,lcd_io[seq]);
    2e48:	3940      	cmpnei      	r1, 0
    2e4a:	60c8      	addu      	r3, r2
    2e4c:	8320      	ld.b      	r1, (r3, 0x0)
    2e4e:	0804      	bt      	0x2e56	// 2e56 <NT_GPIO_Write+0x26>
    2e50:	e3fff5e4 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
	else GPIO_Write_High(temp,lcd_io[seq]);
}
    2e54:	1490      	pop      	r15
	else GPIO_Write_High(temp,lcd_io[seq]);
    2e56:	e3fff5dd 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
}
    2e5a:	07fd      	br      	0x2e54	// 2e54 <NT_GPIO_Write+0x24>
    2e5c:	2000004c 	.long	0x2000004c
    2e60:	20000048 	.long	0x20000048
    2e64:	00004bec 	.long	0x00004bec

Disassembly of section .text.NT_NumsShow:

00002e68 <NT_NumsShow>:

//seq: 0:百位,1:十位,2:个位
//num: BCD格式
void NT_NumsShow(uint8_t seq,uint32_t num)
{
    2e68:	14d4      	push      	r4-r7, r15
    2e6a:	1421      	subi      	r14, r14, 4
    uint8_t i;
    uint32_t temp;

    if(NT_None_Enable > 0)
    2e6c:	13ec      	lrw      	r7, 0x20000100	// 301c <NT_NumsShow+0x1b4>
    2e6e:	8760      	ld.b      	r3, (r7, 0x0)
    2e70:	3b40      	cmpnei      	r3, 0
{
    2e72:	6d47      	mov      	r5, r1
    if(NT_None_Enable > 0)
    2e74:	0c15      	bf      	0x2e9e	// 2e9e <NT_NumsShow+0x36>
    {
        Com0_H;
    2e76:	136b      	lrw      	r3, 0x20000048	// 3020 <NT_NumsShow+0x1b8>
        Com1_H;
    2e78:	138b      	lrw      	r4, 0x2000004c	// 3024 <NT_NumsShow+0x1bc>
        Com0_H;
    2e7a:	3100      	movi      	r1, 0
    2e7c:	9300      	ld.w      	r0, (r3, 0x0)
    2e7e:	e3fff5c9 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        Com1_H;
    2e82:	310d      	movi      	r1, 13
    2e84:	9400      	ld.w      	r0, (r4, 0x0)
    2e86:	e3fff5c5 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        Com2_H;
    2e8a:	310c      	movi      	r1, 12
    2e8c:	9400      	ld.w      	r0, (r4, 0x0)
    2e8e:	e3fff5c1 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        Com3_H;
    2e92:	9400      	ld.w      	r0, (r4, 0x0)
    2e94:	3104      	movi      	r1, 4
    2e96:	e3fff5bd 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>

    for (i = 0; i <= 7; i++)
    {
        NT_GPIO_Write(i,((lcd_code[temp] >> i) & 0x01));
    }
}
    2e9a:	1401      	addi      	r14, r14, 4
    2e9c:	1494      	pop      	r4-r7, r15
    if(seq == 0)
    2e9e:	3840      	cmpnei      	r0, 0
    2ea0:	084a      	bt      	0x2f34	// 2f34 <NT_NumsShow+0xcc>
        Com0_L;
    2ea2:	13c0      	lrw      	r6, 0x20000048	// 3020 <NT_NumsShow+0x1b8>
        Com1_H;
    2ea4:	1380      	lrw      	r4, 0x2000004c	// 3024 <NT_NumsShow+0x1bc>
        Com0_L;
    2ea6:	3100      	movi      	r1, 0
    2ea8:	9600      	ld.w      	r0, (r6, 0x0)
    2eaa:	e3fff5b7 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
        Com1_H;
    2eae:	9400      	ld.w      	r0, (r4, 0x0)
    2eb0:	310d      	movi      	r1, 13
    2eb2:	e3fff5af 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        Com2_H;
    2eb6:	9400      	ld.w      	r0, (r4, 0x0)
    2eb8:	310c      	movi      	r1, 12
    2eba:	e3fff5ab 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        Com3_H;
    2ebe:	9400      	ld.w      	r0, (r4, 0x0)
    2ec0:	3104      	movi      	r1, 4
    2ec2:	e3fff5a7 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        if(UI_System.ShutdownCount == 0)
    2ec6:	1279      	lrw      	r3, 0x20000424	// 3028 <NT_NumsShow+0x1c0>
    2ec8:	8b6c      	ld.h      	r3, (r3, 0x18)
        temp = ((num >> 16) & 0xff);
    2eca:	4d90      	lsri      	r4, r5, 16
        if(UI_System.ShutdownCount == 0)
    2ecc:	3b40      	cmpnei      	r3, 0
        temp = ((num >> 16) & 0xff);
    2ece:	7510      	zextb      	r4, r4
        if(UI_System.ShutdownCount == 0)
    2ed0:	0821      	bt      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
            if((temp == 0) && (Ver_Enable == 0))
    2ed2:	3c40      	cmpnei      	r4, 0
    2ed4:	1276      	lrw      	r3, 0x2000011a	// 302c <NT_NumsShow+0x1c4>
    2ed6:	080e      	bt      	0x2ef2	// 2ef2 <NT_NumsShow+0x8a>
    2ed8:	8b40      	ld.h      	r2, (r3, 0x0)
    2eda:	3a40      	cmpnei      	r2, 0
    2edc:	080b      	bt      	0x2ef2	// 2ef2 <NT_NumsShow+0x8a>
                if(icon_Bars > 0) temp = Tube_Bars;
    2ede:	8741      	ld.b      	r2, (r7, 0x1)
    2ee0:	3a40      	cmpnei      	r2, 0
    2ee2:	0827      	bt      	0x2f30	// 2f30 <NT_NumsShow+0xc8>
                else Com0_H;
    2ee4:	3100      	movi      	r1, 0
    2ee6:	9600      	ld.w      	r0, (r6, 0x0)
    2ee8:	b860      	st.w      	r3, (r14, 0x0)
                temp = Tube_Encoder_None;
    2eea:	340d      	movi      	r4, 13
                else Com0_H;
    2eec:	e3fff592 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
    2ef0:	9860      	ld.w      	r3, (r14, 0x0)
            if(Ver_Enable > 0)
    2ef2:	8b60      	ld.h      	r3, (r3, 0x0)
    2ef4:	3b40      	cmpnei      	r3, 0
    2ef6:	0c0e      	bf      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
                if((num == Tube_Encoder_v) || (num == (Tube_Encoder_v << 8 | Tube_Encoder_F)) || (num == (Tube_Encoder_v << 8 | Tube_Encoder_C)))
    2ef8:	3d59      	cmpnei      	r5, 25
    2efa:	0c07      	bf      	0x2f08	// 2f08 <NT_NumsShow+0xa0>
    2efc:	126d      	lrw      	r3, 0x1914	// 3030 <NT_NumsShow+0x1c8>
    2efe:	64d6      	cmpne      	r5, r3
    2f00:	0c04      	bf      	0x2f08	// 2f08 <NT_NumsShow+0xa0>
    2f02:	126d      	lrw      	r3, 0x1918	// 3034 <NT_NumsShow+0x1cc>
    2f04:	64d6      	cmpne      	r5, r3
    2f06:	0806      	bt      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
                    Com0_H;
    2f08:	9600      	ld.w      	r0, (r6, 0x0)
    2f0a:	3100      	movi      	r1, 0
                    Com1_H;
    2f0c:	e3fff582 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
                    temp = Tube_Encoder_None;
    2f10:	340d      	movi      	r4, 13
        NT_GPIO_Write(i,((lcd_code[temp] >> i) & 0x01));
    2f12:	126a      	lrw      	r3, 0x4c0c	// 3038 <NT_NumsShow+0x1d0>
    2f14:	610c      	addu      	r4, r3
                    temp = Tube_Encoder_None;
    2f16:	3500      	movi      	r5, 0
        NT_GPIO_Write(i,((lcd_code[temp] >> i) & 0x01));
    2f18:	8480      	ld.b      	r4, (r4, 0x0)
    2f1a:	6c53      	mov      	r1, r4
    2f1c:	7056      	asr      	r1, r5
    2f1e:	3301      	movi      	r3, 1
    2f20:	7414      	zextb      	r0, r5
    2f22:	684c      	and      	r1, r3
    2f24:	2500      	addi      	r5, 1
    2f26:	e3ffff85 	bsr      	0x2e30	// 2e30 <NT_GPIO_Write>
    for (i = 0; i <= 7; i++)
    2f2a:	3d48      	cmpnei      	r5, 8
    2f2c:	0bf7      	bt      	0x2f1a	// 2f1a <NT_NumsShow+0xb2>
    2f2e:	07b6      	br      	0x2e9a	// 2e9a <NT_NumsShow+0x32>
                if(icon_Bars > 0) temp = Tube_Bars;
    2f30:	3413      	movi      	r4, 19
    2f32:	07e0      	br      	0x2ef2	// 2ef2 <NT_NumsShow+0x8a>
    else if(seq == 1)
    2f34:	3841      	cmpnei      	r0, 1
    2f36:	0833      	bt      	0x2f9c	// 2f9c <NT_NumsShow+0x134>
        Com0_H;
    2f38:	117a      	lrw      	r3, 0x20000048	// 3020 <NT_NumsShow+0x1b8>
        Com1_L;
    2f3a:	11db      	lrw      	r6, 0x2000004c	// 3024 <NT_NumsShow+0x1bc>
        Com0_H;
    2f3c:	3100      	movi      	r1, 0
    2f3e:	9300      	ld.w      	r0, (r3, 0x0)
    2f40:	e3fff568 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        Com1_L;
    2f44:	310d      	movi      	r1, 13
    2f46:	9600      	ld.w      	r0, (r6, 0x0)
    2f48:	e3fff568 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
        Com2_H;
    2f4c:	310c      	movi      	r1, 12
    2f4e:	9600      	ld.w      	r0, (r6, 0x0)
    2f50:	e3fff560 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        Com3_H;
    2f54:	3104      	movi      	r1, 4
    2f56:	9600      	ld.w      	r0, (r6, 0x0)
    2f58:	e3fff55c 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        if(UI_System.ShutdownCount == 0)
    2f5c:	1173      	lrw      	r3, 0x20000424	// 3028 <NT_NumsShow+0x1c0>
        temp = ((num >> 8) & 0xff);
    2f5e:	4d28      	lsri      	r1, r5, 8
        if(UI_System.ShutdownCount == 0)
    2f60:	8b6c      	ld.h      	r3, (r3, 0x18)
        temp = ((num >> 8) & 0xff);
    2f62:	32ff      	movi      	r2, 255
    2f64:	6d07      	mov      	r4, r1
        if(UI_System.ShutdownCount == 0)
    2f66:	3b40      	cmpnei      	r3, 0
        temp = ((num >> 8) & 0xff);
    2f68:	6908      	and      	r4, r2
        if(UI_System.ShutdownCount == 0)
    2f6a:	0bd4      	bt      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
            if((((num >> 16) & 0xff) == 0) && (temp == 0) && (Ver_Enable == 0))
    2f6c:	4d70      	lsri      	r3, r5, 16
    2f6e:	6cc4      	or      	r3, r1
    2f70:	68c8      	and      	r3, r2
    2f72:	3b40      	cmpnei      	r3, 0
    2f74:	11ee      	lrw      	r7, 0x2000011a	// 302c <NT_NumsShow+0x1c4>
    2f76:	0809      	bt      	0x2f88	// 2f88 <NT_NumsShow+0x120>
    2f78:	8f60      	ld.h      	r3, (r7, 0x0)
    2f7a:	3b40      	cmpnei      	r3, 0
    2f7c:	080e      	bt      	0x2f98	// 2f98 <NT_NumsShow+0x130>
                Com1_H;
    2f7e:	310d      	movi      	r1, 13
    2f80:	9600      	ld.w      	r0, (r6, 0x0)
    2f82:	e3fff547 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
                temp = Tube_Encoder_None;
    2f86:	340d      	movi      	r4, 13
            if(Ver_Enable > 0)
    2f88:	8f60      	ld.h      	r3, (r7, 0x0)
    2f8a:	3b40      	cmpnei      	r3, 0
    2f8c:	0fc3      	bf      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
                if(num == Tube_Encoder_v)
    2f8e:	3d59      	cmpnei      	r5, 25
    2f90:	0bc1      	bt      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
                    Com1_H;
    2f92:	9600      	ld.w      	r0, (r6, 0x0)
    2f94:	310d      	movi      	r1, 13
    2f96:	07bb      	br      	0x2f0c	// 2f0c <NT_NumsShow+0xa4>
    2f98:	3400      	movi      	r4, 0
    2f9a:	07f7      	br      	0x2f88	// 2f88 <NT_NumsShow+0x120>
    else if(seq == 2)
    2f9c:	3842      	cmpnei      	r0, 2
    2f9e:	0815      	bt      	0x2fc8	// 2fc8 <NT_NumsShow+0x160>
        Com0_H;
    2fa0:	1160      	lrw      	r3, 0x20000048	// 3020 <NT_NumsShow+0x1b8>
        Com1_H;
    2fa2:	1181      	lrw      	r4, 0x2000004c	// 3024 <NT_NumsShow+0x1bc>
        Com0_H;
    2fa4:	3100      	movi      	r1, 0
    2fa6:	9300      	ld.w      	r0, (r3, 0x0)
    2fa8:	e3fff534 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        Com1_H;
    2fac:	9400      	ld.w      	r0, (r4, 0x0)
    2fae:	310d      	movi      	r1, 13
    2fb0:	e3fff530 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        Com2_L;
    2fb4:	9400      	ld.w      	r0, (r4, 0x0)
    2fb6:	310c      	movi      	r1, 12
    2fb8:	e3fff530 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
        Com3_H;
    2fbc:	9400      	ld.w      	r0, (r4, 0x0)
    2fbe:	3104      	movi      	r1, 4
    2fc0:	e3fff528 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        temp = (num & 0xff);
    2fc4:	7514      	zextb      	r4, r5
    2fc6:	07a6      	br      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
    else if(seq == 3)
    2fc8:	3843      	cmpnei      	r0, 3
    2fca:	0ba4      	bt      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
        if(UI_System.UI_Show_Colon == UI_ON)
    2fcc:	107c      	lrw      	r3, 0x200003e4	// 303c <NT_NumsShow+0x1d4>
    2fce:	10b6      	lrw      	r5, 0x2000004c	// 3024 <NT_NumsShow+0x1bc>
            Com0_H;
    2fd0:	3100      	movi      	r1, 0
        if(UI_System.UI_Show_Colon == UI_ON)
    2fd2:	9375      	ld.w      	r3, (r3, 0x54)
    2fd4:	3b41      	cmpnei      	r3, 1
    2fd6:	1073      	lrw      	r3, 0x20000048	// 3020 <NT_NumsShow+0x1b8>
            Com0_H;
    2fd8:	9300      	ld.w      	r0, (r3, 0x0)
        if(UI_System.UI_Show_Colon == UI_ON)
    2fda:	0811      	bt      	0x2ffc	// 2ffc <NT_NumsShow+0x194>
            Com0_H;
    2fdc:	e3fff51a 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            Com1_H;
    2fe0:	310d      	movi      	r1, 13
    2fe2:	9500      	ld.w      	r0, (r5, 0x0)
    2fe4:	e3fff516 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            Com2_H;
    2fe8:	310c      	movi      	r1, 12
    2fea:	9500      	ld.w      	r0, (r5, 0x0)
    2fec:	e3fff512 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            Com3_L;
    2ff0:	9500      	ld.w      	r0, (r5, 0x0)
    2ff2:	3104      	movi      	r1, 4
    2ff4:	e3fff512 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
            temp = (Tube_Encoder_Colon & 0xff); //:
    2ff8:	341a      	movi      	r4, 26
    2ffa:	078c      	br      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
            Com0_H;
    2ffc:	e3fff50a 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            Com1_H;
    3000:	9500      	ld.w      	r0, (r5, 0x0)
    3002:	310d      	movi      	r1, 13
    3004:	e3fff506 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            Com2_H;
    3008:	9500      	ld.w      	r0, (r5, 0x0)
    300a:	310c      	movi      	r1, 12
    300c:	e3fff502 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            Com3_H;
    3010:	9500      	ld.w      	r0, (r5, 0x0)
    3012:	3104      	movi      	r1, 4
    3014:	e3fff4fe 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
    3018:	077d      	br      	0x2f12	// 2f12 <NT_NumsShow+0xaa>
    301a:	0000      	bkpt
    301c:	20000100 	.long	0x20000100
    3020:	20000048 	.long	0x20000048
    3024:	2000004c 	.long	0x2000004c
    3028:	20000424 	.long	0x20000424
    302c:	2000011a 	.long	0x2000011a
    3030:	00001914 	.long	0x00001914
    3034:	00001918 	.long	0x00001918
    3038:	00004c0c 	.long	0x00004c0c
    303c:	200003e4 	.long	0x200003e4

Disassembly of section .text.NT_Shine_Stop:

00003040 <NT_Shine_Stop>:

void NT_Shine_Stop(void)
{
    NT_None_Clock = 0;
    3040:	3200      	movi      	r2, 0
    3042:	1065      	lrw      	r3, 0x20000100	// 3054 <NT_Shine_Stop+0x14>
    NT_None_Enable = 0;
    3044:	a340      	st.b      	r2, (r3, 0x0)
    NT_None_Clock = 0;
    3046:	b341      	st.w      	r2, (r3, 0x4)
    switch_trigger_Flag = 0;
    3048:	1064      	lrw      	r3, 0x20000116	// 3058 <NT_Shine_Stop+0x18>
    304a:	a340      	st.b      	r2, (r3, 0x0)
    key_mset_state = 0;
    304c:	1064      	lrw      	r3, 0x20000112	// 305c <NT_Shine_Stop+0x1c>
    304e:	a340      	st.b      	r2, (r3, 0x0)
}
    3050:	783c      	jmp      	r15
    3052:	0000      	bkpt
    3054:	20000100 	.long	0x20000100
    3058:	20000116 	.long	0x20000116
    305c:	20000112 	.long	0x20000112

Disassembly of section .text.NT_Shine_Rest:

00003060 <NT_Shine_Rest>:
void NT_Shine_Rest(void)
{
    NT_None_Enable = 0;
    3060:	1063      	lrw      	r3, 0x20000100	// 306c <NT_Shine_Rest+0xc>
    3062:	3200      	movi      	r2, 0
    3064:	a340      	st.b      	r2, (r3, 0x0)
    NT_None_Clock = NT_Shine_Count;
    3066:	1043      	lrw      	r2, 0x4e2	// 3070 <NT_Shine_Rest+0x10>
    3068:	b341      	st.w      	r2, (r3, 0x4)
}
    306a:	783c      	jmp      	r15
    306c:	20000100 	.long	0x20000100
    3070:	000004e2 	.long	0x000004e2

Disassembly of section .text.NT_CharsSettings:

00003074 <NT_CharsSettings>:

void NT_CharsSettings(uint32_t num)
{
    Tube_Show = num;
    3074:	1062      	lrw      	r3, 0x20000100	// 307c <NT_CharsSettings+0x8>
    3076:	b302      	st.w      	r0, (r3, 0x8)
}
    3078:	783c      	jmp      	r15
    307a:	0000      	bkpt
    307c:	20000100 	.long	0x20000100

Disassembly of section .text.NT_NumsSettings:

00003080 <NT_NumsSettings>:
void NT_NumsSettings(int32_t num)
{
    3080:	14d3      	push      	r4-r6, r15
    uint32_t temp;

    if(num < -50) num = -50;
    3082:	3300      	movi      	r3, 0
    3084:	2b31      	subi      	r3, 50
    3086:	64c1      	cmplt      	r0, r3
{
    3088:	6d03      	mov      	r4, r0
    308a:	10d3      	lrw      	r6, 0x20000100	// 30d4 <NT_NumsSettings+0x54>
    if(num < -50) num = -50;
    308c:	0819      	bt      	0x30be	// 30be <NT_NumsSettings+0x3e>
    if(num < 0)
    308e:	38df      	btsti      	r0, 31
    3090:	0c19      	bf      	0x30c2	// 30c2 <NT_NumsSettings+0x42>
    {
        num = -num;
    3092:	3300      	movi      	r3, 0
    3094:	5b91      	subu      	r4, r3, r4
        temp = 0;
        icon_Bars = 1; 
    3096:	3301      	movi      	r3, 1
    3098:	a661      	st.b      	r3, (r6, 0x1)
        temp = 0;
    309a:	3000      	movi      	r0, 0
    else
    {
        temp = ((num / 100) % 10);
        icon_Bars = 0; 
    } 
    temp <<= 8;
    309c:	40a8      	lsli      	r5, r0, 8
    temp |= ((num / 10) % 10);
    309e:	310a      	movi      	r1, 10
    30a0:	6c13      	mov      	r0, r4
    30a2:	e3fffe37 	bsr      	0x2d10	// 2d10 <__divsi3>
    30a6:	310a      	movi      	r1, 10
    30a8:	e3fffe58 	bsr      	0x2d58	// 2d58 <__modsi3>
    30ac:	6d40      	or      	r5, r0
    temp <<= 8;
    temp |= (num % 10);
    30ae:	310a      	movi      	r1, 10
    30b0:	6c13      	mov      	r0, r4
    30b2:	e3fffe53 	bsr      	0x2d58	// 2d58 <__modsi3>
    temp <<= 8;
    30b6:	45a8      	lsli      	r5, r5, 8
    temp |= (num % 10);
    30b8:	6d40      	or      	r5, r0
    Tube_Show = num;
    30ba:	b6a2      	st.w      	r5, (r6, 0x8)
    
    NT_CharsSettings(temp);
}
    30bc:	1493      	pop      	r4-r6, r15
    if(num < -50) num = -50;
    30be:	6d0f      	mov      	r4, r3
    30c0:	07e9      	br      	0x3092	// 3092 <NT_NumsSettings+0x12>
        temp = ((num / 100) % 10);
    30c2:	3164      	movi      	r1, 100
    30c4:	e3fffe26 	bsr      	0x2d10	// 2d10 <__divsi3>
    30c8:	310a      	movi      	r1, 10
    30ca:	e3fffe47 	bsr      	0x2d58	// 2d58 <__modsi3>
        icon_Bars = 0; 
    30ce:	3300      	movi      	r3, 0
    30d0:	a661      	st.b      	r3, (r6, 0x1)
    30d2:	07e5      	br      	0x309c	// 309c <NT_NumsSettings+0x1c>
    30d4:	20000100 	.long	0x20000100

Disassembly of section .text.NT_Init:

000030d8 <NT_Init>:

void NT_Init(void)
{
    30d8:	14d2      	push      	r4-r5, r15
    uint32_t temp;

    NT_GPIO_Init();

//默认数码管不显示
    Com0_L;
    30da:	10bd      	lrw      	r5, 0x20000048	// 314c <NT_Init+0x74>
    NT_GPIO_Init();
    30dc:	e3fffe66 	bsr      	0x2da8	// 2da8 <NT_GPIO_Init>
    Com1_L;
    30e0:	109c      	lrw      	r4, 0x2000004c	// 3150 <NT_Init+0x78>
    Com0_L;
    30e2:	3100      	movi      	r1, 0
    30e4:	9500      	ld.w      	r0, (r5, 0x0)
    30e6:	e3fff499 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Com1_L;
    30ea:	9400      	ld.w      	r0, (r4, 0x0)
    30ec:	310d      	movi      	r1, 13
    30ee:	e3fff495 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Com2_L;
    30f2:	9400      	ld.w      	r0, (r4, 0x0)
    30f4:	310c      	movi      	r1, 12
    30f6:	e3fff491 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Com3_H;
    30fa:	9400      	ld.w      	r0, (r4, 0x0)
    30fc:	3104      	movi      	r1, 4
    30fe:	e3fff489 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>

    Seg0_L;
    3102:	9400      	ld.w      	r0, (r4, 0x0)
    3104:	3103      	movi      	r1, 3
    3106:	e3fff489 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Seg1_L;
    310a:	9400      	ld.w      	r0, (r4, 0x0)
    310c:	3101      	movi      	r1, 1
    310e:	e3fff485 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Seg2_L;
    3112:	9400      	ld.w      	r0, (r4, 0x0)
    3114:	3100      	movi      	r1, 0
    3116:	e3fff481 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Seg3_L;
    311a:	9400      	ld.w      	r0, (r4, 0x0)
    311c:	310f      	movi      	r1, 15
    311e:	e3fff47d 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Seg4_L;
    3122:	9500      	ld.w      	r0, (r5, 0x0)
    3124:	3105      	movi      	r1, 5
    3126:	e3fff479 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Seg5_L;
    312a:	9500      	ld.w      	r0, (r5, 0x0)
    312c:	3104      	movi      	r1, 4
    312e:	e3fff475 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Seg6_L;
    3132:	9500      	ld.w      	r0, (r5, 0x0)
    3134:	3101      	movi      	r1, 1
    3136:	e3fff471 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Seg7_L;
    313a:	9400      	ld.w      	r0, (r4, 0x0)
    313c:	310e      	movi      	r1, 14
    313e:	e3fff46d 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    Tube_Show = num;
    3142:	1045      	lrw      	r2, 0xd0d0d	// 3154 <NT_Init+0x7c>
    3144:	1065      	lrw      	r3, 0x20000100	// 3158 <NT_Init+0x80>
    3146:	b342      	st.w      	r2, (r3, 0x8)
    temp <<= 8;
    temp |= Tube_Encoder_None;
    temp <<= 8;
    temp |= Tube_Encoder_None;
    NT_CharsSettings(temp);
}
    3148:	1492      	pop      	r4-r5, r15
    314a:	0000      	bkpt
    314c:	20000048 	.long	0x20000048
    3150:	2000004c 	.long	0x2000004c
    3154:	000d0d0d 	.long	0x000d0d0d
    3158:	20000100 	.long	0x20000100

Disassembly of section .text.NT_Main:

0000315c <NT_Main>:

void NT_Main(void)
{
}
    315c:	783c      	jmp      	r15

Disassembly of section .text.Tube_Clock:

00003160 <Tube_Clock>:

//Tick 2ms
void Tube_Clock(void)
{
    3160:	14d2      	push      	r4-r5, r15
    static uint8_t seq = 0;

    if(Show_Count < 0xffff) Show_Count++;
    3162:	1077      	lrw      	r3, 0x200003cc	// 31bc <Tube_Clock+0x5c>
    3164:	8b40      	ld.h      	r2, (r3, 0x0)
    3166:	1037      	lrw      	r1, 0xffff	// 31c0 <Tube_Clock+0x60>
    3168:	644a      	cmpne      	r2, r1
    316a:	0c03      	bf      	0x3170	// 3170 <Tube_Clock+0x10>
    316c:	2200      	addi      	r2, 1
    316e:	ab40      	st.h      	r2, (r3, 0x0)
    if(Show_Count >= 2)
    3170:	8b40      	ld.h      	r2, (r3, 0x0)
    3172:	3a01      	cmphsi      	r2, 2
    3174:	0c21      	bf      	0x31b6	// 31b6 <Tube_Clock+0x56>
    {
        Show_Count -= 2;
        if(NT_None_Clock > 0)
    3176:	1094      	lrw      	r4, 0x20000100	// 31c4 <Tube_Clock+0x64>
        Show_Count -= 2;
    3178:	2a01      	subi      	r2, 2
        if(NT_None_Clock > 0)
    317a:	94a1      	ld.w      	r5, (r4, 0x4)
    317c:	3d40      	cmpnei      	r5, 0
        Show_Count -= 2;
    317e:	ab40      	st.h      	r2, (r3, 0x0)
        if(NT_None_Clock > 0)
    3180:	0c11      	bf      	0x31a2	// 31a2 <Tube_Clock+0x42>
        {
            NT_None_Clock--;
    3182:	2d00      	subi      	r5, 1
    3184:	b4a1      	st.w      	r5, (r4, 0x4)
            if((NT_None_Clock % NT_Shine_Gap) == 0)
    3186:	317d      	movi      	r1, 125
    3188:	6c17      	mov      	r0, r5
    318a:	e3fffdf9 	bsr      	0x2d7c	// 2d7c <__umodsi3>
    318e:	3840      	cmpnei      	r0, 0
    3190:	0805      	bt      	0x319a	// 319a <Tube_Clock+0x3a>
            {
                NT_None_Enable = 1 - NT_None_Enable;
    3192:	8440      	ld.b      	r2, (r4, 0x0)
    3194:	3301      	movi      	r3, 1
    3196:	60ca      	subu      	r3, r2
    3198:	a460      	st.b      	r3, (r4, 0x0)
            }
            if(NT_None_Clock == 0)
    319a:	3d40      	cmpnei      	r5, 0
    319c:	0803      	bt      	0x31a2	// 31a2 <Tube_Clock+0x42>
            {
                NT_Shine_Stop();
    319e:	e3ffff51 	bsr      	0x3040	// 3040 <NT_Shine_Stop>
            }
        }
        NT_NumsShow(seq,Tube_Show);
    31a2:	840c      	ld.b      	r0, (r4, 0xc)
    31a4:	9422      	ld.w      	r1, (r4, 0x8)
    31a6:	e3fffe61 	bsr      	0x2e68	// 2e68 <NT_NumsShow>
        seq++;
    31aa:	846c      	ld.b      	r3, (r4, 0xc)
    31ac:	2300      	addi      	r3, 1
    31ae:	74cc      	zextb      	r3, r3
        if(seq >= 4) seq = 0;
    31b0:	3b03      	cmphsi      	r3, 4
    31b2:	0803      	bt      	0x31b8	// 31b8 <Tube_Clock+0x58>
    31b4:	a46c      	st.b      	r3, (r4, 0xc)
    }
}
    31b6:	1492      	pop      	r4-r5, r15
        if(seq >= 4) seq = 0;
    31b8:	3300      	movi      	r3, 0
    31ba:	07fd      	br      	0x31b4	// 31b4 <Tube_Clock+0x54>
    31bc:	200003cc 	.long	0x200003cc
    31c0:	0000ffff 	.long	0x0000ffff
    31c4:	20000100 	.long	0x20000100

Disassembly of section .text.F_Convert_C:

000031c8 <F_Convert_C>:
#include <stdint.h>
#include "Mcu_F_C_Convert.h"


uint32_t F_Convert_C(uint32_t F)
{
    31c8:	14d0      	push      	r15
    uint32_t x;

    if(F == 200) F = 199; //为了跟膜片度数对应
    31ca:	33c8      	movi      	r3, 200
    31cc:	64c2      	cmpne      	r0, r3
    31ce:	0c0d      	bf      	0x31e8	// 31e8 <F_Convert_C+0x20>
    if(F == 180) F = 181; //为了跟膜片度数对应
    31d0:	33b4      	movi      	r3, 180
    31d2:	64c2      	cmpne      	r0, r3
    31d4:	0c0c      	bf      	0x31ec	// 31ec <F_Convert_C+0x24>
    if(F >= 32)
    31d6:	381f      	cmphsi      	r0, 32
    31d8:	0c0c      	bf      	0x31f0	// 31f0 <F_Convert_C+0x28>
    {
        x = (F - 32);
    31da:	281f      	subi      	r0, 32
        x *= 100; //包含一位小数,方便四舍五入处理
    31dc:	3364      	movi      	r3, 100
    31de:	7c0c      	mult      	r0, r3
        if((x % 10) >= 5)
        {
            x /= 10;
            // x++; //为了跟膜片度数对应
        }
        else x /= 10;
    31e0:	31b4      	movi      	r1, 180
    31e2:	e3fffda9 	bsr      	0x2d34	// 2d34 <__udivsi3>

        return x; //°F转°C
    }
    else return 0; // < 0℃,按 0℃处理
}
    31e6:	1490      	pop      	r15
    if(F == 200) F = 199; //为了跟膜片度数对应
    31e8:	30c7      	movi      	r0, 199
    31ea:	07f8      	br      	0x31da	// 31da <F_Convert_C+0x12>
    if(F == 180) F = 181; //为了跟膜片度数对应
    31ec:	30b5      	movi      	r0, 181
    31ee:	07f6      	br      	0x31da	// 31da <F_Convert_C+0x12>
    else return 0; // < 0℃,按 0℃处理
    31f0:	3000      	movi      	r0, 0
    31f2:	07fa      	br      	0x31e6	// 31e6 <F_Convert_C+0x1e>

Disassembly of section .text.App_Init:

000031f4 <App_Init>:
#include "App_Main.h"



void App_Init(void)
{	
    31f4:	14d0      	push      	r15
	uint16_t temp;
	
    GPIOConfig();
    31f6:	e0000093 	bsr      	0x331c	// 331c <GPIOConfig>
    //SystemConfig();
    FanCtrlInit();
    31fa:	e00006a3 	bsr      	0x3f40	// 3f40 <FanCtrlInit>

//    SystemConfig();
	UI_Init();
    31fe:	e00005b1 	bsr      	0x3d60	// 3d60 <UI_Init>
	ADInit();
    3202:	e0000bdb 	bsr      	0x49b8	// 49b8 <ADInit>
	Key_init();
    3206:	e000023f 	bsr      	0x3684	// 3684 <Key_init>
	Flash_Read();
    320a:	e0000647 	bsr      	0x3e98	// 3e98 <Flash_Read>
	NT_Init();
    320e:	e3ffff65 	bsr      	0x30d8	// 30d8 <NT_Init>
   	Factory_main();
    3212:	e00000e5 	bsr      	0x33dc	// 33dc <Factory_main>
}
    3216:	1490      	pop      	r15

Disassembly of section .text.App_Main:

00003218 <App_Main>:

void App_Main(void)
{
    3218:	14d0      	push      	r15
	int32_t temp = 0;
	
	if (key_mset_state == 0)
    321a:	1164      	lrw      	r3, 0x20000112	// 32a8 <App_Main+0x90>
    321c:	8340      	ld.b      	r2, (r3, 0x0)
    321e:	3a40      	cmpnei      	r2, 0
    3220:	080b      	bt      	0x3236	// 3236 <App_Main+0x1e>
	{
		temp = Temp_Param.oven;
    3222:	1163      	lrw      	r3, 0x200004b8	// 32ac <App_Main+0x94>
    3224:	8b00      	ld.h      	r0, (r3, 0x0)
			NT_Shine_Stop();
		}
		else
		{
			temp = Temp_Param.probe2;
			if(UI_System.Grill_Unit == Unit_C)
    3226:	1163      	lrw      	r3, 0x200003e4	// 32b0 <App_Main+0x98>
			temp = Temp_Param.probe2;
    3228:	7403      	sexth      	r0, r0
			if(UI_System.Grill_Unit == Unit_C)
    322a:	9373      	ld.w      	r3, (r3, 0x4c)
    322c:	3b42      	cmpnei      	r3, 2
    322e:	0814      	bt      	0x3256	// 3256 <App_Main+0x3e>
			{
				temp = F_Convert_C(temp);
    3230:	e3ffffcc 	bsr      	0x31c8	// 31c8 <F_Convert_C>
    3234:	0411      	br      	0x3256	// 3256 <App_Main+0x3e>
	else if (key_mset_state == 1)
    3236:	3a41      	cmpnei      	r2, 1
    3238:	0829      	bt      	0x328a	// 328a <App_Main+0x72>
		if(RTD[1].status != Pt_Normal)
    323a:	105f      	lrw      	r2, 0x20000498	// 32b4 <App_Main+0x9c>
    323c:	9243      	ld.w      	r2, (r2, 0xc)
    323e:	3a40      	cmpnei      	r2, 0
    3240:	0c22      	bf      	0x3284	// 3284 <App_Main+0x6c>
			key_mset_state = 0;
    3242:	3200      	movi      	r2, 0
    3244:	a340      	st.b      	r2, (r3, 0x0)
			pro_Show_Count = 0;
    3246:	3200      	movi      	r2, 0
    3248:	107c      	lrw      	r3, 0x200003d0	// 32b8 <App_Main+0xa0>
    324a:	ab40      	st.h      	r2, (r3, 0x0)
			Keyboard1_Show_Count = 0;
    324c:	107c      	lrw      	r3, 0x200003d2	// 32bc <App_Main+0xa4>
    324e:	ab40      	st.h      	r2, (r3, 0x0)
			NT_Shine_Stop();
    3250:	e3fffef8 	bsr      	0x3040	// 3040 <NT_Shine_Stop>
	int32_t temp = 0;
    3254:	3000      	movi      	r0, 0
			}
		}
		UI_Show(temp);
    3256:	e00004bb 	bsr      	0x3bcc	// 3bcc <UI_Show>
	}
	SwitchKey();
    325a:	e000032b 	bsr      	0x38b0	// 38b0 <SwitchKey>
	KeyDetection();
    325e:	e000025d 	bsr      	0x3718	// 3718 <KeyDetection>

	if (Switch_State == Temp_Shutoff) FanCtrlStop();
    3262:	1078      	lrw      	r3, 0x20000114	// 32c0 <App_Main+0xa8>
    3264:	8b60      	ld.h      	r3, (r3, 0x0)
    3266:	3b40      	cmpnei      	r3, 0
    3268:	081a      	bt      	0x329c	// 329c <App_Main+0x84>
    326a:	e0000755 	bsr      	0x4114	// 4114 <FanCtrlStop>
	else
	{
		TempADC_Main();
		FanCtrlStart();
	}
	HeatingFanCtrl();
    326e:	e0000799 	bsr      	0x41a0	// 41a0 <HeatingFanCtrl>
	IgniterCtrl();
    3272:	e000086f 	bsr      	0x4350	// 4350 <IgniterCtrl>
	ExhaustFanCtrl();
    3276:	e00008ef 	bsr      	0x4454	// 4454 <ExhaustFanCtrl>
	
	WDT_Clear();
    327a:	e3fff2d5 	bsr      	0x1824	// 1824 <SYSCON_IWDCNT_Reload>
	NT_Main();
    327e:	e3ffff6f 	bsr      	0x315c	// 315c <NT_Main>
}
    3282:	1490      	pop      	r15
			temp = Temp_Param.probe1;
    3284:	106a      	lrw      	r3, 0x200004b8	// 32ac <App_Main+0x94>
    3286:	8b04      	ld.h      	r0, (r3, 0x8)
    3288:	07cf      	br      	0x3226	// 3226 <App_Main+0xe>
	else if (key_mset_state == 2)
    328a:	3a42      	cmpnei      	r2, 2
    328c:	0be7      	bt      	0x325a	// 325a <App_Main+0x42>
		if(RTD[2].status != Pt_Normal)
    328e:	104a      	lrw      	r2, 0x20000498	// 32b4 <App_Main+0x9c>
    3290:	9245      	ld.w      	r2, (r2, 0x14)
    3292:	3a40      	cmpnei      	r2, 0
    3294:	0bd7      	bt      	0x3242	// 3242 <App_Main+0x2a>
			temp = Temp_Param.probe2;
    3296:	1066      	lrw      	r3, 0x200004b8	// 32ac <App_Main+0x94>
    3298:	8b07      	ld.h      	r0, (r3, 0xe)
    329a:	07c6      	br      	0x3226	// 3226 <App_Main+0xe>
		TempADC_Main();
    329c:	e0000bb8 	bsr      	0x4a0c	// 4a0c <TempADC_Main>
		FanCtrlStart();
    32a0:	e0000716 	bsr      	0x40cc	// 40cc <FanCtrlStart>
    32a4:	07e5      	br      	0x326e	// 326e <App_Main+0x56>
    32a6:	0000      	bkpt
    32a8:	20000112 	.long	0x20000112
    32ac:	200004b8 	.long	0x200004b8
    32b0:	200003e4 	.long	0x200003e4
    32b4:	20000498 	.long	0x20000498
    32b8:	200003d0 	.long	0x200003d0
    32bc:	200003d2 	.long	0x200003d2
    32c0:	20000114 	.long	0x20000114

Disassembly of section .text.SysTick_IRQHandler:

000032c4 <SysTick_IRQHandler>:

//Tick 2ms
void SysTick_IRQHandler(void)
{
    32c4:	14d1      	push      	r4, r15
    static uint16_t count;
	static uint16_t count_1s;

    switch_clock();
    32c6:	e00002d3 	bsr      	0x386c	// 386c <switch_clock>
    Key_Clock();
    32ca:	e00001ff 	bsr      	0x36c8	// 36c8 <Key_Clock>
	Tube_Clock();
    32ce:	e3ffff49 	bsr      	0x3160	// 3160 <Tube_Clock>
    ADC_Clock();
    
    //Tick 10ms
    count++;
    32d2:	1091      	lrw      	r4, 0x2000010e	// 3314 <SysTick_IRQHandler+0x50>
    ADC_Clock();
    32d4:	e0000994 	bsr      	0x45fc	// 45fc <ADC_Clock>
    count++;
    32d8:	8c60      	ld.h      	r3, (r4, 0x0)
    32da:	2300      	addi      	r3, 1
    32dc:	74cd      	zexth      	r3, r3
    if(count >= 5)
    32de:	3b04      	cmphsi      	r3, 5
    32e0:	080a      	bt      	0x32f4	// 32f4 <SysTick_IRQHandler+0x30>
    count++;
    32e2:	ac60      	st.h      	r3, (r4, 0x0)
        count = 0;
        FanCtrlClock();
        // Buzzer_clock();
		if(Shutdown_CountDown >= 1) Shutdown_CountDown++;
    }
	count_1s++;
    32e4:	8c61      	ld.h      	r3, (r4, 0x2)
    32e6:	2300      	addi      	r3, 1
    32e8:	74cd      	zexth      	r3, r3
	if(count_1s >= 150)
    32ea:	3295      	movi      	r2, 149
    32ec:	64c8      	cmphs      	r2, r3
    32ee:	0c0e      	bf      	0x330a	// 330a <SysTick_IRQHandler+0x46>
	count_1s++;
    32f0:	ac61      	st.h      	r3, (r4, 0x2)
	{
		count_1s = 0;
		UI_Ver();
	}
}
    32f2:	1491      	pop      	r4, r15
        count = 0;
    32f4:	3300      	movi      	r3, 0
    32f6:	ac60      	st.h      	r3, (r4, 0x0)
        FanCtrlClock();
    32f8:	e0000662 	bsr      	0x3fbc	// 3fbc <FanCtrlClock>
		if(Shutdown_CountDown >= 1) Shutdown_CountDown++;
    32fc:	1047      	lrw      	r2, 0x2000011c	// 3318 <SysTick_IRQHandler+0x54>
    32fe:	8a60      	ld.h      	r3, (r2, 0x0)
    3300:	3b40      	cmpnei      	r3, 0
    3302:	0ff1      	bf      	0x32e4	// 32e4 <SysTick_IRQHandler+0x20>
    3304:	2300      	addi      	r3, 1
    3306:	aa60      	st.h      	r3, (r2, 0x0)
    3308:	07ee      	br      	0x32e4	// 32e4 <SysTick_IRQHandler+0x20>
		count_1s = 0;
    330a:	3300      	movi      	r3, 0
    330c:	ac61      	st.h      	r3, (r4, 0x2)
		UI_Ver();
    330e:	e0000539 	bsr      	0x3d80	// 3d80 <UI_Ver>
}
    3312:	07f0      	br      	0x32f2	// 32f2 <SysTick_IRQHandler+0x2e>
    3314:	2000010e 	.long	0x2000010e
    3318:	2000011c 	.long	0x2000011c

Disassembly of section .text.GPIOConfig:

0000331c <GPIOConfig>:
    SCU->SCLKEN0.CLKFLT_BY = 0x55; //PLL倍频到48M时,需要旁路时钟滤波器CLKFLT
	*/
}

void GPIOConfig(void)
{
    331c:	14d1      	push      	r4, r15
    gpio.PUE = GPIO_PUE_Input_Disable;
    GPIO_Init(IO_Oven,&gpio);
    GPIO_Init(IO_Probe1,&gpio);
    GPIO_Init(IO_Probe2,&gpio);
	*/
    GPIO_Init(GPIOA0,IO_Oven,Intput);
    331e:	1089      	lrw      	r4, 0x2000004c	// 3340 <GPIOConfig+0x24>
    3320:	3201      	movi      	r2, 1
    3322:	9400      	ld.w      	r0, (r4, 0x0)
    3324:	3105      	movi      	r1, 5
    3326:	e3fff305 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Probe1,Intput);
    332a:	9400      	ld.w      	r0, (r4, 0x0)
    332c:	3201      	movi      	r2, 1
    332e:	310a      	movi      	r1, 10
    3330:	e3fff300 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Probe2,Intput);
    3334:	9400      	ld.w      	r0, (r4, 0x0)
    3336:	3201      	movi      	r2, 1
    3338:	3109      	movi      	r1, 9
    333a:	e3fff2fb 	bsr      	0x1930	// 1930 <GPIO_Init>
}
    333e:	1491      	pop      	r4, r15
    3340:	2000004c 	.long	0x2000004c

Disassembly of section .text.SamplingSingle:

00003344 <SamplingSingle>:
}


//单次采样指定通道
uint32_t SamplingSingle(uint32_t channel)
{
    3344:	14d0      	push      	r15
    // }
    // ADC0->CSR = 0xFFFFFFFF; //清中断
    // // printf("*******************\n");
    // delay_nms(5000);
  
    if(channel == ADC_Switch)
    3346:	3840      	cmpnei      	r0, 0
    3348:	0808      	bt      	0x3358	// 3358 <SamplingSingle+0x14>
    {
        ADC12_SEQEND_wait(0); //等待转换序列 0 转换完成
    334a:	e3fff5bf 	bsr      	0x1ec8	// 1ec8 <ADC12_SEQEND_wait>
        temp= ADC0->DR[0]; //转换结果保存
    334e:	107b      	lrw      	r3, 0x20000050	// 33b8 <SamplingSingle+0x74>
    3350:	9360      	ld.w      	r3, (r3, 0x0)
    3352:	23ff      	addi      	r3, 256
    3354:	9300      	ld.w      	r0, (r3, 0x0)
        ADC12_SEQEND_wait(5);
        temp= ADC0->DR[5];
    } 

    return temp;
}
    3356:	1490      	pop      	r15
    else if(channel == ADC_Oven)
    3358:	3841      	cmpnei      	r0, 1
    335a:	0808      	bt      	0x336a	// 336a <SamplingSingle+0x26>
        ADC12_SEQEND_wait(1); //等待转换序列 1 转换完成
    335c:	e3fff5b6 	bsr      	0x1ec8	// 1ec8 <ADC12_SEQEND_wait>
        temp= ADC0->DR[1]; //转换结果保存
    3360:	1076      	lrw      	r3, 0x20000050	// 33b8 <SamplingSingle+0x74>
    3362:	9360      	ld.w      	r3, (r3, 0x0)
    3364:	23ff      	addi      	r3, 256
    3366:	9301      	ld.w      	r0, (r3, 0x4)
    3368:	07f7      	br      	0x3356	// 3356 <SamplingSingle+0x12>
    else if(channel == ADC_Meat1)
    336a:	3842      	cmpnei      	r0, 2
    336c:	0808      	bt      	0x337c	// 337c <SamplingSingle+0x38>
        ADC12_SEQEND_wait(2); //等待转换序列 2 转换完成
    336e:	e3fff5ad 	bsr      	0x1ec8	// 1ec8 <ADC12_SEQEND_wait>
        temp= ADC0->DR[2]; //转换结果保存
    3372:	1072      	lrw      	r3, 0x20000050	// 33b8 <SamplingSingle+0x74>
    3374:	9360      	ld.w      	r3, (r3, 0x0)
    3376:	23ff      	addi      	r3, 256
    3378:	9302      	ld.w      	r0, (r3, 0x8)
    337a:	07ee      	br      	0x3356	// 3356 <SamplingSingle+0x12>
    else if(channel == ADC_Meat2)
    337c:	3843      	cmpnei      	r0, 3
    337e:	0808      	bt      	0x338e	// 338e <SamplingSingle+0x4a>
        ADC12_SEQEND_wait(3); //等待转换序列 3 转换完成
    3380:	e3fff5a4 	bsr      	0x1ec8	// 1ec8 <ADC12_SEQEND_wait>
        temp= ADC0->DR[3]; //转换结果保存
    3384:	106d      	lrw      	r3, 0x20000050	// 33b8 <SamplingSingle+0x74>
    3386:	9360      	ld.w      	r3, (r3, 0x0)
    3388:	23ff      	addi      	r3, 256
    338a:	9303      	ld.w      	r0, (r3, 0xc)
    338c:	07e5      	br      	0x3356	// 3356 <SamplingSingle+0x12>
    else if(channel == ADC_BAT_V)
    338e:	3844      	cmpnei      	r0, 4
    3390:	0808      	bt      	0x33a0	// 33a0 <SamplingSingle+0x5c>
        ADC12_SEQEND_wait(4);
    3392:	e3fff59b 	bsr      	0x1ec8	// 1ec8 <ADC12_SEQEND_wait>
        temp= ADC0->DR[4];
    3396:	1069      	lrw      	r3, 0x20000050	// 33b8 <SamplingSingle+0x74>
    3398:	9360      	ld.w      	r3, (r3, 0x0)
    339a:	23ff      	addi      	r3, 256
    339c:	9304      	ld.w      	r0, (r3, 0x10)
    339e:	07dc      	br      	0x3356	// 3356 <SamplingSingle+0x12>
    else if(channel == ADC_INTVREF_1v)
    33a0:	3845      	cmpnei      	r0, 5
    33a2:	0808      	bt      	0x33b2	// 33b2 <SamplingSingle+0x6e>
        ADC12_SEQEND_wait(5);
    33a4:	e3fff592 	bsr      	0x1ec8	// 1ec8 <ADC12_SEQEND_wait>
        temp= ADC0->DR[5];
    33a8:	1064      	lrw      	r3, 0x20000050	// 33b8 <SamplingSingle+0x74>
    33aa:	9360      	ld.w      	r3, (r3, 0x0)
    33ac:	23ff      	addi      	r3, 256
    33ae:	9305      	ld.w      	r0, (r3, 0x14)
    33b0:	07d3      	br      	0x3356	// 3356 <SamplingSingle+0x12>
    uint32_t temp = 0;
    33b2:	3000      	movi      	r0, 0
    return temp;
    33b4:	07d1      	br      	0x3356	// 3356 <SamplingSingle+0x12>
    33b6:	0000      	bkpt
    33b8:	20000050 	.long	0x20000050

Disassembly of section .text.Factory_ProbeCheck:

000033bc <Factory_ProbeCheck>:
#include "App_Main.h"
uint8_t FactoryEnable;


uint8_t Factory_ProbeCheck(void)
{
    33bc:	14d0      	push      	r15
    uint32_t temp;

    if(key_param.once2 == 1)
    33be:	1066      	lrw      	r3, 0x200003d8	// 33d4 <Factory_ProbeCheck+0x18>
    33c0:	8301      	ld.b      	r0, (r3, 0x1)
    33c2:	3302      	movi      	r3, 2
    33c4:	680c      	and      	r0, r3
    33c6:	3840      	cmpnei      	r0, 0
    33c8:	0c05      	bf      	0x33d2	// 33d2 <Factory_ProbeCheck+0x16>
        temp = Tube_Encoder_P;
        temp <<= 8;
        temp |= Tube_Encoder_S;
        temp <<= 8;
        temp |= 1;
        NT_CharsSettings(temp);
    33ca:	1004      	lrw      	r0, 0x171501	// 33d8 <Factory_ProbeCheck+0x1c>
    33cc:	e3fffe54 	bsr      	0x3074	// 3074 <NT_CharsSettings>
        return 1;
    33d0:	3001      	movi      	r0, 1
    }
    return 0;
}
    33d2:	1490      	pop      	r15
    33d4:	200003d8 	.long	0x200003d8
    33d8:	00171501 	.long	0x00171501

Disassembly of section .text.Factory_main:

000033dc <Factory_main>:
void Factory_main(void)
{
    33dc:	14d4      	push      	r4-r7, r15
    uint32_t FanCtrl_Feed = 1;
    uint8_t i;
    uint32_t temp;
    uint32_t temp_rtd;

    KeyDetection();
    33de:	e000019d 	bsr      	0x3718	// 3718 <KeyDetection>
    if(key_param.once1 == 1)
    33e2:	036e      	lrw      	r3, 0x200003d8	// 3624 <Factory_main+0x248>
    33e4:	8341      	ld.b      	r2, (r3, 0x1)
    33e6:	3ac0      	btsti      	r2, 0
    33e8:	6d4f      	mov      	r5, r3
    33ea:	0c22      	bf      	0x342e	// 342e <Factory_main+0x52>
    33ec:	340a      	movi      	r4, 10
    33ee:	2c00      	subi      	r4, 1
    33f0:	7510      	zextb      	r4, r4
    {
        for (i = 0; i < 10; i++) keyboard_delay15ms();
    33f2:	e0000143 	bsr      	0x3678	// 3678 <keyboard_delay15ms>
    33f6:	3c40      	cmpnei      	r4, 0
    33f8:	0bfb      	bt      	0x33ee	// 33ee <Factory_main+0x12>
        if(key_param.once1 == 1)
    33fa:	8561      	ld.b      	r3, (r5, 0x1)
    33fc:	3bc0      	btsti      	r3, 0
    33fe:	0c18      	bf      	0x342e	// 342e <Factory_main+0x52>
        {
            FactoryEnable = 1;
            IgniterClose;
    3400:	0395      	lrw      	r4, 0x20000048	// 3628 <Factory_main+0x24c>
            FactoryEnable = 1;
    3402:	3201      	movi      	r2, 1
    3404:	0375      	lrw      	r3, 0x200003ce	// 362c <Factory_main+0x250>
            IgniterClose;
    3406:	3102      	movi      	r1, 2
    3408:	9400      	ld.w      	r0, (r4, 0x0)
            FactoryEnable = 1;
    340a:	a340      	st.b      	r2, (r3, 0x0)
            IgniterClose;
    340c:	e3fff302 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            HeaterFanClose;
    3410:	9400      	ld.w      	r0, (r4, 0x0)
    3412:	3103      	movi      	r1, 3
    3414:	e3fff2fe 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            ExhaustFanClose;
    3418:	0379      	lrw      	r3, 0x2000004c	// 3630 <Factory_main+0x254>
    341a:	3108      	movi      	r1, 8
    341c:	9300      	ld.w      	r0, (r3, 0x0)
    341e:	e3fff2f9 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            FanCtrl_Fan = 0;
            FanCtrl_Heater = 0;
            FanCtrl_Feed = 0;
            key_mset_state = 0;
    3422:	037a      	lrw      	r3, 0x20000112	// 3634 <Factory_main+0x258>
    3424:	3200      	movi      	r2, 0
    3426:	a340      	st.b      	r2, (r3, 0x0)
            Keyboard1_Show_Count = 0;
    3428:	3200      	movi      	r2, 0
    342a:	037b      	lrw      	r3, 0x200003d2	// 3638 <Factory_main+0x25c>
    342c:	ab40      	st.h      	r2, (r3, 0x0)
        }
    }
    NT_Init();
    342e:	e3fffe55 	bsr      	0x30d8	// 30d8 <NT_Init>
    while (FactoryEnable)
    3432:	13bf      	lrw      	r5, 0x200003ce	// 362c <Factory_main+0x250>
    {
        WDT_Clear();
		TempADC_Main();
        KeyDetection();
        SwitchKey();
        if(Switch_State == Temp_Shutoff)
    3434:	03dd      	lrw      	r6, 0x20000114	// 363c <Factory_main+0x260>
    while (FactoryEnable)
    3436:	8560      	ld.b      	r3, (r5, 0x0)
    3438:	3b40      	cmpnei      	r3, 0
    343a:	0802      	bt      	0x343e	// 343e <Factory_main+0x62>
            {
                NT_NumsSettings(Factory_Show_Num);
            }
        }
    }
}
    343c:	1494      	pop      	r4-r7, r15
        WDT_Clear();
    343e:	e3fff1f3 	bsr      	0x1824	// 1824 <SYSCON_IWDCNT_Reload>
		TempADC_Main();
    3442:	e0000ae5 	bsr      	0x4a0c	// 4a0c <TempADC_Main>
        KeyDetection();
    3446:	e0000169 	bsr      	0x3718	// 3718 <KeyDetection>
        SwitchKey();
    344a:	e0000233 	bsr      	0x38b0	// 38b0 <SwitchKey>
        if(Switch_State == Temp_Shutoff)
    344e:	8e60      	ld.h      	r3, (r6, 0x0)
    3450:	3b40      	cmpnei      	r3, 0
    3452:	0838      	bt      	0x34c2	// 34c2 <Factory_main+0xe6>
            if(RTD[0].status == Pt_Normal)
    3454:	137b      	lrw      	r3, 0x20000498	// 3640 <Factory_main+0x264>
    3456:	9341      	ld.w      	r2, (r3, 0x4)
    3458:	3a40      	cmpnei      	r2, 0
    345a:	0832      	bt      	0x34be	// 34be <Factory_main+0xe2>
                temp_rtd = RTD[0].value;
    345c:	93e0      	ld.w      	r7, (r3, 0x0)
                if(UI_System.Grill_Unit == Unit_C)
    345e:	137a      	lrw      	r3, 0x200003e4	// 3644 <Factory_main+0x268>
    3460:	9373      	ld.w      	r3, (r3, 0x4c)
    3462:	3b42      	cmpnei      	r3, 2
    3464:	0805      	bt      	0x346e	// 346e <Factory_main+0x92>
                    temp_rtd = F_Convert_C(temp_rtd);
    3466:	6c1f      	mov      	r0, r7
    3468:	e3fffeb0 	bsr      	0x31c8	// 31c8 <F_Convert_C>
    346c:	6dc3      	mov      	r7, r0
                temp = (temp_rtd / 100) % 10;
    346e:	3164      	movi      	r1, 100
    3470:	6c1f      	mov      	r0, r7
    3472:	e3fffc61 	bsr      	0x2d34	// 2d34 <__udivsi3>
    3476:	310a      	movi      	r1, 10
    3478:	e3fffc82 	bsr      	0x2d7c	// 2d7c <__umodsi3>
                temp <<= 8;
    347c:	4088      	lsli      	r4, r0, 8
                temp |= (temp_rtd / 10) % 10;
    347e:	310a      	movi      	r1, 10
    3480:	6c1f      	mov      	r0, r7
    3482:	e3fffc59 	bsr      	0x2d34	// 2d34 <__udivsi3>
    3486:	310a      	movi      	r1, 10
    3488:	e3fffc7a 	bsr      	0x2d7c	// 2d7c <__umodsi3>
    348c:	6d00      	or      	r4, r0
                temp |= temp_rtd % 10;
    348e:	310a      	movi      	r1, 10
    3490:	6c1f      	mov      	r0, r7
                temp <<= 8;
    3492:	4488      	lsli      	r4, r4, 8
                temp |= temp_rtd % 10;
    3494:	e3fffc74 	bsr      	0x2d7c	// 2d7c <__umodsi3>
    3498:	6d00      	or      	r4, r0
            IgniterClose;
    349a:	13e4      	lrw      	r7, 0x20000048	// 3628 <Factory_main+0x24c>
    349c:	3102      	movi      	r1, 2
    349e:	9700      	ld.w      	r0, (r7, 0x0)
    34a0:	e3fff2b8 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            HeaterFanClose;
    34a4:	9700      	ld.w      	r0, (r7, 0x0)
    34a6:	3103      	movi      	r1, 3
    34a8:	e3fff2b4 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            ExhaustFanClose;
    34ac:	1361      	lrw      	r3, 0x2000004c	// 3630 <Factory_main+0x254>
    34ae:	3108      	movi      	r1, 8
    34b0:	9300      	ld.w      	r0, (r3, 0x0)
    34b2:	e3fff2af 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
                    NT_CharsSettings(temp);
    34b6:	6c13      	mov      	r0, r4
    34b8:	e3fffdde 	bsr      	0x3074	// 3074 <NT_CharsSettings>
    34bc:	07bd      	br      	0x3436	// 3436 <Factory_main+0x5a>
            temp |= Tube_Encoder_None;
    34be:	1383      	lrw      	r4, 0xd0d0d	// 3648 <Factory_main+0x26c>
    34c0:	07ed      	br      	0x349a	// 349a <Factory_main+0xbe>
            if(Switch_State == Temp_Set_Smoke)
    34c2:	32a5      	movi      	r2, 165
    34c4:	648e      	cmpne      	r3, r2
    34c6:	0830      	bt      	0x3526	// 3526 <Factory_main+0x14a>
                if(RTD[1].status == Pt_Normal)
    34c8:	127e      	lrw      	r3, 0x20000498	// 3640 <Factory_main+0x264>
    34ca:	9343      	ld.w      	r2, (r3, 0xc)
    34cc:	3a40      	cmpnei      	r2, 0
    34ce:	082a      	bt      	0x3522	// 3522 <Factory_main+0x146>
                    temp_rtd = RTD[1].value;
    34d0:	93e2      	ld.w      	r7, (r3, 0x8)
                    if(UI_System.Grill_Unit == Unit_C)
    34d2:	127d      	lrw      	r3, 0x200003e4	// 3644 <Factory_main+0x268>
    34d4:	9373      	ld.w      	r3, (r3, 0x4c)
    34d6:	3b42      	cmpnei      	r3, 2
    34d8:	0805      	bt      	0x34e2	// 34e2 <Factory_main+0x106>
                        temp_rtd = F_Convert_C(temp_rtd);
    34da:	6c1f      	mov      	r0, r7
    34dc:	e3fffe76 	bsr      	0x31c8	// 31c8 <F_Convert_C>
    34e0:	6dc3      	mov      	r7, r0
                    temp = (temp_rtd / 100) % 10;
    34e2:	3164      	movi      	r1, 100
    34e4:	6c1f      	mov      	r0, r7
    34e6:	e3fffc27 	bsr      	0x2d34	// 2d34 <__udivsi3>
    34ea:	310a      	movi      	r1, 10
    34ec:	e3fffc48 	bsr      	0x2d7c	// 2d7c <__umodsi3>
                    temp <<= 8;
    34f0:	4088      	lsli      	r4, r0, 8
                    temp |= (temp_rtd / 10) % 10;
    34f2:	310a      	movi      	r1, 10
    34f4:	6c1f      	mov      	r0, r7
    34f6:	e3fffc1f 	bsr      	0x2d34	// 2d34 <__udivsi3>
    34fa:	310a      	movi      	r1, 10
    34fc:	e3fffc40 	bsr      	0x2d7c	// 2d7c <__umodsi3>
    3500:	6d00      	or      	r4, r0
                    temp |= temp_rtd % 10;
    3502:	310a      	movi      	r1, 10
    3504:	6c1f      	mov      	r0, r7
                    temp <<= 8;
    3506:	4488      	lsli      	r4, r4, 8
                    temp |= temp_rtd % 10;
    3508:	e3fffc3a 	bsr      	0x2d7c	// 2d7c <__umodsi3>
    350c:	6d00      	or      	r4, r0
                ExhaustFanOpen;
    350e:	1269      	lrw      	r3, 0x2000004c	// 3630 <Factory_main+0x254>
    3510:	3108      	movi      	r1, 8
    3512:	9300      	ld.w      	r0, (r3, 0x0)
                IgniterOpen;
    3514:	e3fff282 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
                if(Factory_ProbeCheck() == 0)
    3518:	e3ffff52 	bsr      	0x33bc	// 33bc <Factory_ProbeCheck>
    351c:	3840      	cmpnei      	r0, 0
    351e:	0b8c      	bt      	0x3436	// 3436 <Factory_main+0x5a>
    3520:	07cb      	br      	0x34b6	// 34b6 <Factory_main+0xda>
                    temp |= Tube_Encoder_O;
    3522:	128b      	lrw      	r4, 0x161616	// 364c <Factory_main+0x270>
    3524:	07f5      	br      	0x350e	// 350e <Factory_main+0x132>
            else if(Switch_State == Temp_Set_200)
    3526:	32b4      	movi      	r2, 180
    3528:	648e      	cmpne      	r3, r2
    352a:	082a      	bt      	0x357e	// 357e <Factory_main+0x1a2>
                if(RTD[2].status == Pt_Normal)
    352c:	1265      	lrw      	r3, 0x20000498	// 3640 <Factory_main+0x264>
    352e:	9345      	ld.w      	r2, (r3, 0x14)
    3530:	3a40      	cmpnei      	r2, 0
    3532:	0824      	bt      	0x357a	// 357a <Factory_main+0x19e>
                    temp_rtd = RTD[2].value;
    3534:	93e4      	ld.w      	r7, (r3, 0x10)
                    if(UI_System.Grill_Unit == Unit_C)
    3536:	1264      	lrw      	r3, 0x200003e4	// 3644 <Factory_main+0x268>
    3538:	9373      	ld.w      	r3, (r3, 0x4c)
    353a:	3b42      	cmpnei      	r3, 2
    353c:	0805      	bt      	0x3546	// 3546 <Factory_main+0x16a>
                        temp_rtd = F_Convert_C(temp_rtd);
    353e:	6c1f      	mov      	r0, r7
    3540:	e3fffe44 	bsr      	0x31c8	// 31c8 <F_Convert_C>
    3544:	6dc3      	mov      	r7, r0
                    temp = (temp_rtd / 100) % 10;
    3546:	3164      	movi      	r1, 100
    3548:	6c1f      	mov      	r0, r7
    354a:	e3fffbf5 	bsr      	0x2d34	// 2d34 <__udivsi3>
    354e:	310a      	movi      	r1, 10
    3550:	e3fffc16 	bsr      	0x2d7c	// 2d7c <__umodsi3>
                    temp <<= 8;
    3554:	4088      	lsli      	r4, r0, 8
                    temp |= (temp_rtd / 10) % 10;
    3556:	310a      	movi      	r1, 10
    3558:	6c1f      	mov      	r0, r7
    355a:	e3fffbed 	bsr      	0x2d34	// 2d34 <__udivsi3>
    355e:	310a      	movi      	r1, 10
    3560:	e3fffc0e 	bsr      	0x2d7c	// 2d7c <__umodsi3>
    3564:	6d00      	or      	r4, r0
                    temp |= temp_rtd % 10;
    3566:	310a      	movi      	r1, 10
    3568:	6c1f      	mov      	r0, r7
                    temp <<= 8;
    356a:	4488      	lsli      	r4, r4, 8
                    temp |= temp_rtd % 10;
    356c:	e3fffc08 	bsr      	0x2d7c	// 2d7c <__umodsi3>
    3570:	6d00      	or      	r4, r0
                IgniterOpen;
    3572:	116e      	lrw      	r3, 0x20000048	// 3628 <Factory_main+0x24c>
    3574:	3102      	movi      	r1, 2
    3576:	9300      	ld.w      	r0, (r3, 0x0)
    3578:	07ce      	br      	0x3514	// 3514 <Factory_main+0x138>
                    temp |= 1;
    357a:	1196      	lrw      	r4, 0x10101	// 3650 <Factory_main+0x274>
    357c:	07fb      	br      	0x3572	// 3572 <Factory_main+0x196>
            else if(Switch_State == Temp_Set_225)
    357e:	32e1      	movi      	r2, 225
    3580:	648e      	cmpne      	r3, r2
    3582:	0812      	bt      	0x35a6	// 35a6 <Factory_main+0x1ca>
                Factory_Show_Num = 222;
    3584:	1174      	lrw      	r3, 0x200003c8	// 3654 <Factory_main+0x278>
    3586:	32de      	movi      	r2, 222
    3588:	ab40      	st.h      	r2, (r3, 0x0)
                HeaterFanOpen;
    358a:	3103      	movi      	r1, 3
    358c:	1167      	lrw      	r3, 0x20000048	// 3628 <Factory_main+0x24c>
    358e:	9300      	ld.w      	r0, (r3, 0x0)
    3590:	e3fff244 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
            if(Factory_ProbeCheck() == 0)
    3594:	e3ffff14 	bsr      	0x33bc	// 33bc <Factory_ProbeCheck>
    3598:	3840      	cmpnei      	r0, 0
    359a:	0b4e      	bt      	0x3436	// 3436 <Factory_main+0x5a>
                NT_NumsSettings(Factory_Show_Num);
    359c:	116e      	lrw      	r3, 0x200003c8	// 3654 <Factory_main+0x278>
    359e:	8b00      	ld.h      	r0, (r3, 0x0)
    35a0:	e3fffd70 	bsr      	0x3080	// 3080 <NT_NumsSettings>
    35a4:	0749      	br      	0x3436	// 3436 <Factory_main+0x5a>
            else if(Switch_State == Temp_Set_250)
    35a6:	32fa      	movi      	r2, 250
    35a8:	648e      	cmpne      	r3, r2
    35aa:	080a      	bt      	0x35be	// 35be <Factory_main+0x1e2>
                Factory_Show_Num = 333;
    35ac:	116a      	lrw      	r3, 0x200003c8	// 3654 <Factory_main+0x278>
    35ae:	114e      	lrw      	r2, 0x14d	// 3664 <Factory_main+0x288>
    35b0:	ab40      	st.h      	r2, (r3, 0x0)
                ExhaustFanClose;
    35b2:	3108      	movi      	r1, 8
    35b4:	107f      	lrw      	r3, 0x2000004c	// 3630 <Factory_main+0x254>
    35b6:	9300      	ld.w      	r0, (r3, 0x0)
                IgniterClose;
    35b8:	e3fff22c 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
    35bc:	07ec      	br      	0x3594	// 3594 <Factory_main+0x1b8>
            else if(Switch_State == Temp_Set_300)
    35be:	1147      	lrw      	r2, 0x113	// 3658 <Factory_main+0x27c>
    35c0:	648e      	cmpne      	r3, r2
    35c2:	0809      	bt      	0x35d4	// 35d4 <Factory_main+0x1f8>
                Factory_Show_Num = 444;
    35c4:	32de      	movi      	r2, 222
    35c6:	1164      	lrw      	r3, 0x200003c8	// 3654 <Factory_main+0x278>
    35c8:	4241      	lsli      	r2, r2, 1
    35ca:	ab40      	st.h      	r2, (r3, 0x0)
                IgniterClose;
    35cc:	3102      	movi      	r1, 2
    35ce:	1077      	lrw      	r3, 0x20000048	// 3628 <Factory_main+0x24c>
    35d0:	9300      	ld.w      	r0, (r3, 0x0)
    35d2:	07f3      	br      	0x35b8	// 35b8 <Factory_main+0x1dc>
            else if(Switch_State == Temp_Set_350)
    35d4:	3296      	movi      	r2, 150
    35d6:	4241      	lsli      	r2, r2, 1
    35d8:	648e      	cmpne      	r3, r2
    35da:	0808      	bt      	0x35ea	// 35ea <Factory_main+0x20e>
                Factory_Show_Num = 555;
    35dc:	107e      	lrw      	r3, 0x200003c8	// 3654 <Factory_main+0x278>
    35de:	1143      	lrw      	r2, 0x22b	// 3668 <Factory_main+0x28c>
    35e0:	ab40      	st.h      	r2, (r3, 0x0)
                HeaterFanClose;
    35e2:	3103      	movi      	r1, 3
    35e4:	1071      	lrw      	r3, 0x20000048	// 3628 <Factory_main+0x24c>
    35e6:	9300      	ld.w      	r0, (r3, 0x0)
    35e8:	07e8      	br      	0x35b8	// 35b8 <Factory_main+0x1dc>
            else if(Switch_State == Temp_Set_400) Factory_Show_Num = 666;
    35ea:	105d      	lrw      	r2, 0x145	// 365c <Factory_main+0x280>
    35ec:	648e      	cmpne      	r3, r2
    35ee:	0805      	bt      	0x35f8	// 35f8 <Factory_main+0x21c>
    35f0:	1079      	lrw      	r3, 0x200003c8	// 3654 <Factory_main+0x278>
    35f2:	105f      	lrw      	r2, 0x29a	// 366c <Factory_main+0x290>
            else if(Switch_State == Temp_Set_500) Factory_Show_Num = 999;
    35f4:	ab40      	st.h      	r2, (r3, 0x0)
    35f6:	07cf      	br      	0x3594	// 3594 <Factory_main+0x1b8>
            else if(Switch_State == Temp_Set_450) Factory_Show_Num = 777;
    35f8:	32af      	movi      	r2, 175
    35fa:	4241      	lsli      	r2, r2, 1
    35fc:	648e      	cmpne      	r3, r2
    35fe:	0804      	bt      	0x3606	// 3606 <Factory_main+0x22a>
    3600:	1075      	lrw      	r3, 0x200003c8	// 3654 <Factory_main+0x278>
    3602:	105c      	lrw      	r2, 0x309	// 3670 <Factory_main+0x294>
    3604:	07f8      	br      	0x35f4	// 35f4 <Factory_main+0x218>
            else if(Switch_State == Temp_Set_475) Factory_Show_Num = 888;
    3606:	1057      	lrw      	r2, 0x177	// 3660 <Factory_main+0x284>
    3608:	648e      	cmpne      	r3, r2
    360a:	0805      	bt      	0x3614	// 3614 <Factory_main+0x238>
    360c:	32de      	movi      	r2, 222
    360e:	1072      	lrw      	r3, 0x200003c8	// 3654 <Factory_main+0x278>
    3610:	4242      	lsli      	r2, r2, 2
    3612:	07f1      	br      	0x35f4	// 35f4 <Factory_main+0x218>
            else if(Switch_State == Temp_Set_500) Factory_Show_Num = 999;
    3614:	32e1      	movi      	r2, 225
    3616:	4241      	lsli      	r2, r2, 1
    3618:	648e      	cmpne      	r3, r2
    361a:	0bbd      	bt      	0x3594	// 3594 <Factory_main+0x1b8>
    361c:	106e      	lrw      	r3, 0x200003c8	// 3654 <Factory_main+0x278>
    361e:	1056      	lrw      	r2, 0x3e7	// 3674 <Factory_main+0x298>
    3620:	07ea      	br      	0x35f4	// 35f4 <Factory_main+0x218>
    3622:	0000      	bkpt
    3624:	200003d8 	.long	0x200003d8
    3628:	20000048 	.long	0x20000048
    362c:	200003ce 	.long	0x200003ce
    3630:	2000004c 	.long	0x2000004c
    3634:	20000112 	.long	0x20000112
    3638:	200003d2 	.long	0x200003d2
    363c:	20000114 	.long	0x20000114
    3640:	20000498 	.long	0x20000498
    3644:	200003e4 	.long	0x200003e4
    3648:	000d0d0d 	.long	0x000d0d0d
    364c:	00161616 	.long	0x00161616
    3650:	00010101 	.long	0x00010101
    3654:	200003c8 	.long	0x200003c8
    3658:	00000113 	.long	0x00000113
    365c:	00000145 	.long	0x00000145
    3660:	00000177 	.long	0x00000177
    3664:	0000014d 	.long	0x0000014d
    3668:	0000022b 	.long	0x0000022b
    366c:	0000029a 	.long	0x0000029a
    3670:	00000309 	.long	0x00000309
    3674:	000003e7 	.long	0x000003e7

Disassembly of section .text.keyboard_delay15ms:

00003678 <keyboard_delay15ms>:
uint16_t PR_temp;
uint8_t pro_flash; //闪烁灭控抽状态

//通过示波器测量按键延迟, 15ms: 计数: 2500 * 16
void keyboard_delay15ms(void)
{
    3678:	14d0      	push      	r15
//	uint32_t i;

delay_nms(15);
    367a:	300f      	movi      	r0, 15
    367c:	e3fff62a 	bsr      	0x22d0	// 22d0 <delay_nms>

//	for (i = 0; i < 2500 * 200; i++)
//	{
//	}
}
    3680:	1490      	pop      	r15

Disassembly of section .text.Key_init:

00003684 <Key_init>:

void Key_init(void)
{
    3684:	14d1      	push      	r4, r15
	key_param.once1 = 0;
    3686:	106d      	lrw      	r3, 0x200003d8	// 36b8 <Key_init+0x34>
    3688:	8341      	ld.b      	r2, (r3, 0x1)
	key_param.once2 = 0;
	key_param.once3 = 0;
    368a:	31f8      	movi      	r1, 248
    368c:	6884      	and      	r2, r1
    368e:	a341      	st.b      	r2, (r3, 0x1)
	key_param.state_keyled = 0;
    3690:	3200      	movi      	r2, 0
	GPIO_Init(GPIOA0,IO_Key1,Intput);
    3692:	108b      	lrw      	r4, 0x2000004c	// 36bc <Key_init+0x38>
    3694:	3106      	movi      	r1, 6
	key_param.state_keyled = 0;
    3696:	a340      	st.b      	r2, (r3, 0x0)
	GPIO_Init(GPIOA0,IO_Key1,Intput);
    3698:	9400      	ld.w      	r0, (r4, 0x0)
    369a:	3201      	movi      	r2, 1
    369c:	e3fff14a 	bsr      	0x1930	// 1930 <GPIO_Init>
	GPIO_Init(GPIOA0,IO_Key2,Intput);
    36a0:	9400      	ld.w      	r0, (r4, 0x0)
    36a2:	3201      	movi      	r2, 1
    36a4:	3107      	movi      	r1, 7
    36a6:	e3fff145 	bsr      	0x1930	// 1930 <GPIO_Init>

	Keyboard_Show_Count = 0;
    36aa:	3200      	movi      	r2, 0
    36ac:	1065      	lrw      	r3, 0x200003da	// 36c0 <Key_init+0x3c>
    36ae:	ab40      	st.h      	r2, (r3, 0x0)
	Keyboard1_Show_Count = 0;
    36b0:	1065      	lrw      	r3, 0x200003d2	// 36c4 <Key_init+0x40>
    36b2:	ab40      	st.h      	r2, (r3, 0x0)
}
    36b4:	1491      	pop      	r4, r15
    36b6:	0000      	bkpt
    36b8:	200003d8 	.long	0x200003d8
    36bc:	2000004c 	.long	0x2000004c
    36c0:	200003da 	.long	0x200003da
    36c4:	200003d2 	.long	0x200003d2

Disassembly of section .text.Key_Clock:

000036c8 <Key_Clock>:

//Tick 2ms
void Key_Clock(void)
{
    36c8:	14d0      	push      	r15
	if(FactoryEnable > 0) return;
    36ca:	106f      	lrw      	r3, 0x200003ce	// 3704 <Key_Clock+0x3c>
    36cc:	8360      	ld.b      	r3, (r3, 0x0)
    36ce:	3b40      	cmpnei      	r3, 0
    36d0:	0810      	bt      	0x36f0	// 36f0 <Key_Clock+0x28>
	if (Keyboard_Show_Count > 0) Keyboard_Show_Count--;
    36d2:	104e      	lrw      	r2, 0x200003da	// 3708 <Key_Clock+0x40>
    36d4:	8a60      	ld.h      	r3, (r2, 0x0)
    36d6:	3b40      	cmpnei      	r3, 0
    36d8:	0c03      	bf      	0x36de	// 36de <Key_Clock+0x16>
    36da:	2b00      	subi      	r3, 1
    36dc:	aa60      	st.h      	r3, (r2, 0x0)
	if (Keyboard1_Show_Count > 0)
    36de:	104c      	lrw      	r2, 0x200003d2	// 370c <Key_Clock+0x44>
    36e0:	8a60      	ld.h      	r3, (r2, 0x0)
    36e2:	3b40      	cmpnei      	r3, 0
    36e4:	0c06      	bf      	0x36f0	// 36f0 <Key_Clock+0x28>
	{
		Keyboard1_Show_Count--;
    36e6:	2b00      	subi      	r3, 1
    36e8:	74cd      	zexth      	r3, r3
		if (Keyboard1_Show_Count == 5)
    36ea:	3b45      	cmpnei      	r3, 5
    36ec:	0c03      	bf      	0x36f2	// 36f2 <Key_Clock+0x2a>
		Keyboard1_Show_Count--;
    36ee:	aa60      	st.h      	r3, (r2, 0x0)
				pro_Show_Count = 1500; //3000;
				NT_Shine_Rest();
			}
		}
	}
}
    36f0:	1490      	pop      	r15
			Keyboard1_Show_Count = 0;
    36f2:	3300      	movi      	r3, 0
    36f4:	aa60      	st.h      	r3, (r2, 0x0)
				pro_Show_Count = 1500; //3000;
    36f6:	1048      	lrw      	r2, 0x5dc	// 3714 <Key_Clock+0x4c>
    36f8:	1066      	lrw      	r3, 0x200003d0	// 3710 <Key_Clock+0x48>
    36fa:	ab40      	st.h      	r2, (r3, 0x0)
				NT_Shine_Rest();
    36fc:	e3fffcb2 	bsr      	0x3060	// 3060 <NT_Shine_Rest>
    3700:	07f8      	br      	0x36f0	// 36f0 <Key_Clock+0x28>
    3702:	0000      	bkpt
    3704:	200003ce 	.long	0x200003ce
    3708:	200003da 	.long	0x200003da
    370c:	200003d2 	.long	0x200003d2
    3710:	200003d0 	.long	0x200003d0
    3714:	000005dc 	.long	0x000005dc

Disassembly of section .text.KeyDetection:

00003718 <KeyDetection>:

//Key1,Key2,Key3
void KeyDetection(void)
{
    3718:	14d2      	push      	r4-r5, r15
	uint16_t temp;

	//key2
	if (ReadIO_Key2 == 0)
    371a:	128b      	lrw      	r4, 0x2000004c	// 3844 <KeyDetection+0x12c>
    371c:	3107      	movi      	r1, 7
    371e:	9400      	ld.w      	r0, (r4, 0x0)
    3720:	e3fff180 	bsr      	0x1a20	// 1a20 <GPIO_Read_Status>
    3724:	3840      	cmpnei      	r0, 0
    3726:	085d      	bt      	0x37e0	// 37e0 <KeyDetection+0xc8>
	{
		keyboard_delay15ms();
    3728:	e3ffffa8 	bsr      	0x3678	// 3678 <keyboard_delay15ms>
		if ((ReadIO_Key2 == 0) && (key_param.once2 == 0) && (Keyboard1_Show_Count == 0))
    372c:	3107      	movi      	r1, 7
    372e:	9400      	ld.w      	r0, (r4, 0x0)
    3730:	e3fff178 	bsr      	0x1a20	// 1a20 <GPIO_Read_Status>
    3734:	3840      	cmpnei      	r0, 0
    3736:	0828      	bt      	0x3786	// 3786 <KeyDetection+0x6e>
    3738:	1244      	lrw      	r2, 0x200003d8	// 3848 <KeyDetection+0x130>
    373a:	8261      	ld.b      	r3, (r2, 0x1)
    373c:	3bc1      	btsti      	r3, 1
    373e:	0824      	bt      	0x3786	// 3786 <KeyDetection+0x6e>
    3740:	1223      	lrw      	r1, 0x200003d2	// 384c <KeyDetection+0x134>
    3742:	8920      	ld.h      	r1, (r1, 0x0)
    3744:	3940      	cmpnei      	r1, 0
    3746:	0820      	bt      	0x3786	// 3786 <KeyDetection+0x6e>
		{
			key_param.once2 = 1;
    3748:	3ba1      	bseti      	r3, 1
    374a:	a261      	st.b      	r3, (r2, 0x1)

			if((Keyboard1_Show_Count == 0) && (FactoryEnable == 0))
    374c:	1261      	lrw      	r3, 0x200003ce	// 3850 <KeyDetection+0x138>
    374e:	8360      	ld.b      	r3, (r3, 0x0)
    3750:	3b40      	cmpnei      	r3, 0
    3752:	081a      	bt      	0x3786	// 3786 <KeyDetection+0x6e>
			{
				if(Switch_State == Temp_Set_Smoke)
    3754:	1260      	lrw      	r3, 0x20000114	// 3854 <KeyDetection+0x13c>
    3756:	8b40      	ld.h      	r2, (r3, 0x0)
    3758:	33a5      	movi      	r3, 165
    375a:	64ca      	cmpne      	r2, r3
    375c:	0815      	bt      	0x3786	// 3786 <KeyDetection+0x6e>
				{
					if(Keyboard_Show_Count > 0)
    375e:	117f      	lrw      	r3, 0x200003da	// 3858 <KeyDetection+0x140>
    3760:	8b40      	ld.h      	r2, (r3, 0x0)
    3762:	3a40      	cmpnei      	r2, 0
    3764:	6d4f      	mov      	r5, r3
    3766:	0c0d      	bf      	0x3780	// 3780 <KeyDetection+0x68>
					{
						UI_System.Pset++;
    3768:	117d      	lrw      	r3, 0x200003e4	// 385c <KeyDetection+0x144>
    376a:	834c      	ld.b      	r2, (r3, 0xc)
    376c:	2200      	addi      	r2, 1
    376e:	7488      	zextb      	r2, r2
						if (UI_System.Pset > PSet_7) UI_System.Pset = PSet_0;
    3770:	3a08      	cmphsi      	r2, 9
    3772:	0835      	bt      	0x37dc	// 37dc <KeyDetection+0xc4>
    3774:	a34c      	st.b      	r2, (r3, 0xc)
						Smoke_P_Value = UI_System.Pset;
    3776:	836c      	ld.b      	r3, (r3, 0xc)
    3778:	115a      	lrw      	r2, 0x20000444	// 3860 <KeyDetection+0x148>
    377a:	a260      	st.b      	r3, (r2, 0x0)
		                Flash_Write();
    377c:	e000037a 	bsr      	0x3e70	// 3e70 <Flash_Write>
					}
					Keyboard_Show_Count = 1000;
    3780:	33fa      	movi      	r3, 250
    3782:	4362      	lsli      	r3, r3, 2
    3784:	ad60      	st.h      	r3, (r5, 0x0)
		if (key_param.once2 > 0)
		{
			key_param.once2 = 0;
		}
	}
	if (ReadIO_Key1 == 0)
    3786:	3106      	movi      	r1, 6
    3788:	9400      	ld.w      	r0, (r4, 0x0)
    378a:	e3fff14b 	bsr      	0x1a20	// 1a20 <GPIO_Read_Status>
    378e:	3840      	cmpnei      	r0, 0
    3790:	0848      	bt      	0x3820	// 3820 <KeyDetection+0x108>
	{
		keyboard_delay15ms();
    3792:	e3ffff73 	bsr      	0x3678	// 3678 <keyboard_delay15ms>
		if ((ReadIO_Key1 == 0) && (key_param.once1 == 0) && (Keyboard_Show_Count == 0))
    3796:	9400      	ld.w      	r0, (r4, 0x0)
    3798:	3106      	movi      	r1, 6
    379a:	e3fff143 	bsr      	0x1a20	// 1a20 <GPIO_Read_Status>
    379e:	3840      	cmpnei      	r0, 0
    37a0:	081d      	bt      	0x37da	// 37da <KeyDetection+0xc2>
    37a2:	114a      	lrw      	r2, 0x200003d8	// 3848 <KeyDetection+0x130>
    37a4:	8261      	ld.b      	r3, (r2, 0x1)
    37a6:	3bc0      	btsti      	r3, 0
    37a8:	0819      	bt      	0x37da	// 37da <KeyDetection+0xc2>
    37aa:	112c      	lrw      	r1, 0x200003da	// 3858 <KeyDetection+0x140>
    37ac:	8920      	ld.h      	r1, (r1, 0x0)
    37ae:	3940      	cmpnei      	r1, 0
    37b0:	0815      	bt      	0x37da	// 37da <KeyDetection+0xc2>
		{
			key_param.once1 = 1;
    37b2:	3ba0      	bseti      	r3, 0
    37b4:	a261      	st.b      	r3, (r2, 0x1)
			if(key_mset_state == 0)
    37b6:	116c      	lrw      	r3, 0x20000112	// 3864 <KeyDetection+0x14c>
    37b8:	8340      	ld.b      	r2, (r3, 0x0)
    37ba:	3a40      	cmpnei      	r2, 0
    37bc:	0823      	bt      	0x3802	// 3802 <KeyDetection+0xea>
			{
				if(RTD[1].status == Pt_Normal)
    37be:	114b      	lrw      	r2, 0x20000498	// 3868 <KeyDetection+0x150>
    37c0:	9223      	ld.w      	r1, (r2, 0xc)
    37c2:	3940      	cmpnei      	r1, 0
    37c4:	0822      	bt      	0x3808	// 3808 <KeyDetection+0xf0>
				{
					key_mset_state = 1;
    37c6:	3201      	movi      	r2, 1
    37c8:	a340      	st.b      	r2, (r3, 0x0)
					if(FactoryEnable == 0) Keyboard1_Show_Count = 1000;
    37ca:	1162      	lrw      	r3, 0x200003ce	// 3850 <KeyDetection+0x138>
    37cc:	8360      	ld.b      	r3, (r3, 0x0)
    37ce:	3b40      	cmpnei      	r3, 0
    37d0:	0805      	bt      	0x37da	// 37da <KeyDetection+0xc2>
    37d2:	32fa      	movi      	r2, 250
    37d4:	107e      	lrw      	r3, 0x200003d2	// 384c <KeyDetection+0x134>
    37d6:	4242      	lsli      	r2, r2, 2
    37d8:	ab40      	st.h      	r2, (r3, 0x0)
		if (key_param.once1 > 0)
		{
			key_param.once1 = 0;
		}
	}
}
    37da:	1492      	pop      	r4-r5, r15
						if (UI_System.Pset > PSet_7) UI_System.Pset = PSet_0;
    37dc:	3201      	movi      	r2, 1
    37de:	07cb      	br      	0x3774	// 3774 <KeyDetection+0x5c>
	else if (ReadIO_Key2 > 0)
    37e0:	3107      	movi      	r1, 7
    37e2:	9400      	ld.w      	r0, (r4, 0x0)
    37e4:	e3fff11e 	bsr      	0x1a20	// 1a20 <GPIO_Read_Status>
    37e8:	3840      	cmpnei      	r0, 0
    37ea:	0fce      	bf      	0x3786	// 3786 <KeyDetection+0x6e>
		keyboard_delay15ms();
    37ec:	e3ffff46 	bsr      	0x3678	// 3678 <keyboard_delay15ms>
		if (key_param.once2 > 0)
    37f0:	1036      	lrw      	r1, 0x200003d8	// 3848 <KeyDetection+0x130>
    37f2:	8161      	ld.b      	r3, (r1, 0x1)
    37f4:	435e      	lsli      	r2, r3, 30
    37f6:	4a5f      	lsri      	r2, r2, 31
    37f8:	3a41      	cmpnei      	r2, 1
    37fa:	0bc6      	bt      	0x3786	// 3786 <KeyDetection+0x6e>
			key_param.once2 = 0;
    37fc:	3b81      	bclri      	r3, 1
    37fe:	a161      	st.b      	r3, (r1, 0x1)
    3800:	07c3      	br      	0x3786	// 3786 <KeyDetection+0x6e>
			else if(key_mset_state == 1)
    3802:	3a41      	cmpnei      	r2, 1
    3804:	0807      	bt      	0x3812	// 3812 <KeyDetection+0xfa>
				if(RTD[2].status == Pt_Normal)
    3806:	1059      	lrw      	r2, 0x20000498	// 3868 <KeyDetection+0x150>
				else if(RTD[2].status == Pt_Normal)
    3808:	9245      	ld.w      	r2, (r2, 0x14)
    380a:	3a40      	cmpnei      	r2, 0
    380c:	0be7      	bt      	0x37da	// 37da <KeyDetection+0xc2>
					key_mset_state = 2;
    380e:	3202      	movi      	r2, 2
    3810:	07dc      	br      	0x37c8	// 37c8 <KeyDetection+0xb0>
			else if(key_mset_state == 2)
    3812:	3a42      	cmpnei      	r2, 2
    3814:	0be3      	bt      	0x37da	// 37da <KeyDetection+0xc2>
				if(RTD[1].status == Pt_Normal)
    3816:	1055      	lrw      	r2, 0x20000498	// 3868 <KeyDetection+0x150>
    3818:	9243      	ld.w      	r2, (r2, 0xc)
    381a:	3a40      	cmpnei      	r2, 0
    381c:	0fd5      	bf      	0x37c6	// 37c6 <KeyDetection+0xae>
    381e:	07de      	br      	0x37da	// 37da <KeyDetection+0xc2>
	else if (ReadIO_Key1 > 0)
    3820:	9400      	ld.w      	r0, (r4, 0x0)
    3822:	3106      	movi      	r1, 6
    3824:	e3fff0fe 	bsr      	0x1a20	// 1a20 <GPIO_Read_Status>
    3828:	3840      	cmpnei      	r0, 0
    382a:	0fd8      	bf      	0x37da	// 37da <KeyDetection+0xc2>
		keyboard_delay15ms();
    382c:	e3ffff26 	bsr      	0x3678	// 3678 <keyboard_delay15ms>
		if (key_param.once1 > 0)
    3830:	1026      	lrw      	r1, 0x200003d8	// 3848 <KeyDetection+0x130>
    3832:	8161      	ld.b      	r3, (r1, 0x1)
    3834:	435f      	lsli      	r2, r3, 31
    3836:	4a5f      	lsri      	r2, r2, 31
    3838:	3a41      	cmpnei      	r2, 1
    383a:	0bd0      	bt      	0x37da	// 37da <KeyDetection+0xc2>
			key_param.once1 = 0;
    383c:	3b80      	bclri      	r3, 0
    383e:	a161      	st.b      	r3, (r1, 0x1)
}
    3840:	07cd      	br      	0x37da	// 37da <KeyDetection+0xc2>
    3842:	0000      	bkpt
    3844:	2000004c 	.long	0x2000004c
    3848:	200003d8 	.long	0x200003d8
    384c:	200003d2 	.long	0x200003d2
    3850:	200003ce 	.long	0x200003ce
    3854:	20000114 	.long	0x20000114
    3858:	200003da 	.long	0x200003da
    385c:	200003e4 	.long	0x200003e4
    3860:	20000444 	.long	0x20000444
    3864:	20000112 	.long	0x20000112
    3868:	20000498 	.long	0x20000498

Disassembly of section .text.switch_clock:

0000386c <switch_clock>:
}

//tick 2ms
void switch_clock(void)
{
    if(switch_tick200ms < 0xffff) switch_tick200ms++;
    386c:	1044      	lrw      	r2, 0x200003dc	// 387c <switch_clock+0x10>
    386e:	8a60      	ld.h      	r3, (r2, 0x0)
    3870:	1024      	lrw      	r1, 0xffff	// 3880 <switch_clock+0x14>
    3872:	644e      	cmpne      	r3, r1
    3874:	0c03      	bf      	0x387a	// 387a <switch_clock+0xe>
    3876:	2300      	addi      	r3, 1
    3878:	aa60      	st.h      	r3, (r2, 0x0)
}
    387a:	783c      	jmp      	r15
    387c:	200003dc 	.long	0x200003dc
    3880:	0000ffff 	.long	0x0000ffff

Disassembly of section .text.Switch_Trigger:

00003884 <Switch_Trigger>:

void Switch_Trigger(void)
{
    3884:	14d1      	push      	r4, r15
    if(FactoryEnable == 0)
    3886:	1069      	lrw      	r3, 0x200003ce	// 38a8 <Switch_Trigger+0x24>
    3888:	8360      	ld.b      	r3, (r3, 0x0)
    388a:	3b40      	cmpnei      	r3, 0
    388c:	080a      	bt      	0x38a0	// 38a0 <Switch_Trigger+0x1c>
    { //非出厂测试,闪耀有效
        if(Switch_State != Temp_Set_Smoke)
    388e:	1088      	lrw      	r4, 0x20000114	// 38ac <Switch_Trigger+0x28>
    3890:	8c40      	ld.h      	r2, (r4, 0x0)
    3892:	33a5      	movi      	r3, 165
    3894:	64ca      	cmpne      	r2, r3
    3896:	0c05      	bf      	0x38a0	// 38a0 <Switch_Trigger+0x1c>
        {
            NT_Shine_Rest();
    3898:	e3fffbe4 	bsr      	0x3060	// 3060 <NT_Shine_Rest>
            switch_trigger_Flag = 1;
    389c:	3301      	movi      	r3, 1
    389e:	a462      	st.b      	r3, (r4, 0x2)
        }
    }
    ADC_KeyUpDown();
    38a0:	e00006e0 	bsr      	0x4660	// 4660 <ADC_KeyUpDown>
}
    38a4:	1491      	pop      	r4, r15
    38a6:	0000      	bkpt
    38a8:	200003ce 	.long	0x200003ce
    38ac:	20000114 	.long	0x20000114

Disassembly of section .text.SwitchKey:

000038b0 <SwitchKey>:

void SwitchKey(void)
{
    38b0:	14d1      	push      	r4, r15
    if(switch_tick200ms >= 100)
    38b2:	1240      	lrw      	r2, 0x200003dc	// 39b0 <SwitchKey+0x100>
    38b4:	8a60      	ld.h      	r3, (r2, 0x0)
    38b6:	3163      	movi      	r1, 99
    38b8:	64c4      	cmphs      	r1, r3
    38ba:	119f      	lrw      	r4, 0x20000114	// 39b4 <SwitchKey+0x104>
    38bc:	0807      	bt      	0x38ca	// 38ca <SwitchKey+0x1a>
    {
        switch_tick200ms -= 100;
    38be:	2b63      	subi      	r3, 100
        sample_value = SamplingSingle(ADC_Switch); //测量的AD范围值+-20作为判断范围
    38c0:	3000      	movi      	r0, 0
        switch_tick200ms -= 100;
    38c2:	aa60      	st.h      	r3, (r2, 0x0)
        sample_value = SamplingSingle(ADC_Switch); //测量的AD范围值+-20作为判断范围
    38c4:	e3fffd40 	bsr      	0x3344	// 3344 <SamplingSingle>
    38c8:	ac02      	st.h      	r0, (r4, 0x4)
    }

    if(sample_value >= 982)
    38ca:	8c62      	ld.h      	r3, (r4, 0x4)
    38cc:	115b      	lrw      	r2, 0x3d5	// 39b8 <SwitchKey+0x108>
    38ce:	64c8      	cmphs      	r2, r3
    38d0:	080e      	bt      	0x38ec	// 38ec <SwitchKey+0x3c>
    { //1023 [sample_value * 0.04, ]
        if(Switch_State != Temp_Set_Smoke)
    38d2:	8c40      	ld.h      	r2, (r4, 0x0)
    38d4:	33a5      	movi      	r3, 165
    38d6:	64ca      	cmpne      	r2, r3
    38d8:	0c06      	bf      	0x38e4	// 38e4 <SwitchKey+0x34>
        {
            Switch_State = Temp_Set_Smoke; //Smoke //AD: 4095-4095
    38da:	ac60      	st.h      	r3, (r4, 0x0)
            Switch_Trigger();
    38dc:	e3ffffd4 	bsr      	0x3884	// 3884 <Switch_Trigger>
            NT_Shine_Stop();
    38e0:	e3fffbb0 	bsr      	0x3040	// 3040 <NT_Shine_Stop>
    { //0  ShutDown
        Switch_State = Temp_Shutoff; //AD: [0,191 + 50], 上电后一段时间采集的ad值是191
        ADC_KeyUpDown();
    }

    temp_set = Switch_State; //设置FanCtrl的温度设定值
    38e4:	1176      	lrw      	r3, 0x20000068	// 39bc <SwitchKey+0x10c>
    38e6:	8c40      	ld.h      	r2, (r4, 0x0)
    38e8:	ab40      	st.h      	r2, (r3, 0x0)
}
    38ea:	1491      	pop      	r4, r15
    else if((sample_value >= 807) && (sample_value <= 967))
    38ec:	1155      	lrw      	r2, 0xfffffcd9	// 39c0 <SwitchKey+0x110>
    38ee:	608c      	addu      	r2, r3
    38f0:	7489      	zexth      	r2, r2
    38f2:	31a0      	movi      	r1, 160
    38f4:	6484      	cmphs      	r1, r2
    38f6:	0c09      	bf      	0x3908	// 3908 <SwitchKey+0x58>
        if(Switch_State != Temp_Set_200)
    38f8:	8c40      	ld.h      	r2, (r4, 0x0)
    38fa:	33b4      	movi      	r3, 180
        if(Switch_State != Temp_Set_500)
    38fc:	64ca      	cmpne      	r2, r3
    38fe:	0ff3      	bf      	0x38e4	// 38e4 <SwitchKey+0x34>
            Switch_State = Temp_Set_500; //AD: [366 - 50,367 + 50], 220v供电: [366-50,379+50]
    3900:	ac60      	st.h      	r3, (r4, 0x0)
            Switch_Trigger();
    3902:	e3ffffc1 	bsr      	0x3884	// 3884 <Switch_Trigger>
    3906:	07ef      	br      	0x38e4	// 38e4 <SwitchKey+0x34>
    else if((sample_value >= 703) && (sample_value <= 777))
    3908:	114f      	lrw      	r2, 0xfffffd41	// 39c4 <SwitchKey+0x114>
    390a:	608c      	addu      	r2, r3
    390c:	7489      	zexth      	r2, r2
    390e:	314a      	movi      	r1, 74
    3910:	6484      	cmphs      	r1, r2
    3912:	0c04      	bf      	0x391a	// 391a <SwitchKey+0x6a>
        if(Switch_State != Temp_Set_225)
    3914:	8c40      	ld.h      	r2, (r4, 0x0)
    3916:	33e1      	movi      	r3, 225
    3918:	07f2      	br      	0x38fc	// 38fc <SwitchKey+0x4c>
    else if((sample_value >= 607) && (sample_value <= 684))
    391a:	114c      	lrw      	r2, 0xfffffda1	// 39c8 <SwitchKey+0x118>
    391c:	608c      	addu      	r2, r3
    391e:	7489      	zexth      	r2, r2
    3920:	314d      	movi      	r1, 77
    3922:	6484      	cmphs      	r1, r2
    3924:	0c04      	bf      	0x392c	// 392c <SwitchKey+0x7c>
        if(Switch_State != Temp_Set_250)
    3926:	8c40      	ld.h      	r2, (r4, 0x0)
    3928:	33fa      	movi      	r3, 250
    392a:	07e9      	br      	0x38fc	// 38fc <SwitchKey+0x4c>
    else if((sample_value >= 521) && (sample_value <= 599))
    392c:	1148      	lrw      	r2, 0xfffffdf7	// 39cc <SwitchKey+0x11c>
    392e:	608c      	addu      	r2, r3
    3930:	7489      	zexth      	r2, r2
    3932:	314e      	movi      	r1, 78
    3934:	6484      	cmphs      	r1, r2
    3936:	0c04      	bf      	0x393e	// 393e <SwitchKey+0x8e>
        if(Switch_State != Temp_Set_300)
    3938:	8c40      	ld.h      	r2, (r4, 0x0)
    393a:	1166      	lrw      	r3, 0x113	// 39d0 <SwitchKey+0x120>
    393c:	07e0      	br      	0x38fc	// 38fc <SwitchKey+0x4c>
    else if((sample_value >= 419) && (sample_value <= 498))
    393e:	1146      	lrw      	r2, 0xfffffe5d	// 39d4 <SwitchKey+0x124>
    3940:	608c      	addu      	r2, r3
    3942:	7489      	zexth      	r2, r2
    3944:	314f      	movi      	r1, 79
    3946:	6484      	cmphs      	r1, r2
    3948:	0c05      	bf      	0x3952	// 3952 <SwitchKey+0xa2>
        if(Switch_State != Temp_Set_350)
    394a:	8c40      	ld.h      	r2, (r4, 0x0)
    394c:	3396      	movi      	r3, 150
        if(Switch_State != Temp_Set_500)
    394e:	4361      	lsli      	r3, r3, 1
    3950:	07d6      	br      	0x38fc	// 38fc <SwitchKey+0x4c>
    else if((sample_value >= 322) && (sample_value <= 397))
    3952:	1142      	lrw      	r2, 0xfffffebe	// 39d8 <SwitchKey+0x128>
    3954:	608c      	addu      	r2, r3
    3956:	7489      	zexth      	r2, r2
    3958:	314b      	movi      	r1, 75
    395a:	6484      	cmphs      	r1, r2
    395c:	0c04      	bf      	0x3964	// 3964 <SwitchKey+0xb4>
        if(Switch_State != Temp_Set_400)
    395e:	8c40      	ld.h      	r2, (r4, 0x0)
    3960:	107f      	lrw      	r3, 0x145	// 39dc <SwitchKey+0x12c>
    3962:	07cd      	br      	0x38fc	// 38fc <SwitchKey+0x4c>
    else if((sample_value >= 232) && (sample_value <= 333))
    3964:	3200      	movi      	r2, 0
    3966:	2ae7      	subi      	r2, 232
    3968:	608c      	addu      	r2, r3
    396a:	7489      	zexth      	r2, r2
    396c:	3165      	movi      	r1, 101
    396e:	6484      	cmphs      	r1, r2
    3970:	0c04      	bf      	0x3978	// 3978 <SwitchKey+0xc8>
        if(Switch_State != Temp_Set_450)
    3972:	8c40      	ld.h      	r2, (r4, 0x0)
    3974:	33af      	movi      	r3, 175
    3976:	07ec      	br      	0x394e	// 394e <SwitchKey+0x9e>
    else if((sample_value >= 158) && (sample_value <= 227))
    3978:	3200      	movi      	r2, 0
    397a:	2a9d      	subi      	r2, 158
    397c:	608c      	addu      	r2, r3
    397e:	7489      	zexth      	r2, r2
    3980:	3145      	movi      	r1, 69
    3982:	6484      	cmphs      	r1, r2
    3984:	0c04      	bf      	0x398c	// 398c <SwitchKey+0xdc>
        if(Switch_State != Temp_Set_475)
    3986:	8c40      	ld.h      	r2, (r4, 0x0)
    3988:	1076      	lrw      	r3, 0x177	// 39e0 <SwitchKey+0x130>
    398a:	07b9      	br      	0x38fc	// 38fc <SwitchKey+0x4c>
    else if((sample_value >= 75) && (sample_value <= 140))
    398c:	3200      	movi      	r2, 0
    398e:	2a4a      	subi      	r2, 75
    3990:	608c      	addu      	r2, r3
    3992:	7489      	zexth      	r2, r2
    3994:	3141      	movi      	r1, 65
    3996:	6484      	cmphs      	r1, r2
    3998:	0c04      	bf      	0x39a0	// 39a0 <SwitchKey+0xf0>
        if(Switch_State != Temp_Set_500)
    399a:	8c40      	ld.h      	r2, (r4, 0x0)
    399c:	33e1      	movi      	r3, 225
    399e:	07d8      	br      	0x394e	// 394e <SwitchKey+0x9e>
    else if((sample_value >= 0) && (sample_value < 50))
    39a0:	3231      	movi      	r2, 49
    39a2:	64c8      	cmphs      	r2, r3
    39a4:	0fa0      	bf      	0x38e4	// 38e4 <SwitchKey+0x34>
        Switch_State = Temp_Shutoff; //AD: [0,191 + 50], 上电后一段时间采集的ad值是191
    39a6:	3300      	movi      	r3, 0
    39a8:	ac60      	st.h      	r3, (r4, 0x0)
        ADC_KeyUpDown();
    39aa:	e000065b 	bsr      	0x4660	// 4660 <ADC_KeyUpDown>
    39ae:	079b      	br      	0x38e4	// 38e4 <SwitchKey+0x34>
    39b0:	200003dc 	.long	0x200003dc
    39b4:	20000114 	.long	0x20000114
    39b8:	000003d5 	.long	0x000003d5
    39bc:	20000068 	.long	0x20000068
    39c0:	fffffcd9 	.long	0xfffffcd9
    39c4:	fffffd41 	.long	0xfffffd41
    39c8:	fffffda1 	.long	0xfffffda1
    39cc:	fffffdf7 	.long	0xfffffdf7
    39d0:	00000113 	.long	0x00000113
    39d4:	fffffe5d 	.long	0xfffffe5d
    39d8:	fffffebe 	.long	0xfffffebe
    39dc:	00000145 	.long	0x00000145
    39e0:	00000177 	.long	0x00000177

Disassembly of section .text.InvSqrt:

000039e4 <InvSqrt>:
_Pt1000_State Pt1000_State;


//卡马克快速求平方根的倒数(替换标准库sqrt函数): 比标准库函数快4倍
float InvSqrt(float number)
{
    39e4:	14d4      	push      	r4-r7, r15
    long i;
    float x2, y;

    x2 = number * 0.5;
    39e6:	31fc      	movi      	r1, 252
{
    39e8:	6d03      	mov      	r4, r0
    x2 = number * 0.5;
    39ea:	4136      	lsli      	r1, r1, 22
    39ec:	e3ffe4c2 	bsr      	0x370	// 370 <__mulsf3>
    y  = number;
    i  = *(long *)&y; //evil floating point bit level hacking
    i  = 0x5f3759df - (i >> 1); // 计算第一个近似根 // what the fuck?
    39f0:	5461      	asri      	r3, r4, 1
    39f2:	109f      	lrw      	r4, 0x5f3759df	// 3a6c <InvSqrt+0x88>
    39f4:	610e      	subu      	r4, r3
    y  = *(float *)&i;
    y  = y * (1.5 - (x2 * y * y)); //牛顿迭代法 // 1st iteration 
    39f6:	6c53      	mov      	r1, r4
    x2 = number * 0.5;
    39f8:	6d43      	mov      	r5, r0
    y  = y * (1.5 - (x2 * y * y)); //牛顿迭代法 // 1st iteration 
    39fa:	e3ffe4bb 	bsr      	0x370	// 370 <__mulsf3>
    39fe:	6c53      	mov      	r1, r4
    3a00:	e3ffe4b8 	bsr      	0x370	// 370 <__mulsf3>
    3a04:	e3ffe650 	bsr      	0x6a4	// 6a4 <__extendsfdf2>
    3a08:	6c83      	mov      	r2, r0
    3a0a:	6cc7      	mov      	r3, r1
    3a0c:	3000      	movi      	r0, 0
    3a0e:	1039      	lrw      	r1, 0x3ff80000	// 3a70 <InvSqrt+0x8c>
    3a10:	e3ffe808 	bsr      	0xa20	// a20 <__subdf3>
    3a14:	6dc3      	mov      	r7, r0
    3a16:	6c13      	mov      	r0, r4
    3a18:	6d87      	mov      	r6, r1
    3a1a:	e3ffe645 	bsr      	0x6a4	// 6a4 <__extendsfdf2>
    3a1e:	6c83      	mov      	r2, r0
    3a20:	6cc7      	mov      	r3, r1
    3a22:	6c1f      	mov      	r0, r7
    3a24:	6c5b      	mov      	r1, r6
    3a26:	e3ffe81f 	bsr      	0xa64	// a64 <__muldf3>
    3a2a:	e3ffeadd 	bsr      	0xfe4	// fe4 <__truncdfsf2>
    3a2e:	6d03      	mov      	r4, r0
    y  = y * (1.5 - (x2 * y * y)); //2nd iteration, this can be removed
    3a30:	6c43      	mov      	r1, r0
    3a32:	6c17      	mov      	r0, r5
    3a34:	e3ffe49e 	bsr      	0x370	// 370 <__mulsf3>
    3a38:	6c53      	mov      	r1, r4
    3a3a:	e3ffe49b 	bsr      	0x370	// 370 <__mulsf3>
    3a3e:	e3ffe633 	bsr      	0x6a4	// 6a4 <__extendsfdf2>
    3a42:	6c83      	mov      	r2, r0
    3a44:	6cc7      	mov      	r3, r1
    3a46:	3000      	movi      	r0, 0
    3a48:	102a      	lrw      	r1, 0x3ff80000	// 3a70 <InvSqrt+0x8c>
    3a4a:	e3ffe7eb 	bsr      	0xa20	// a20 <__subdf3>
    3a4e:	6d83      	mov      	r6, r0
    3a50:	6c13      	mov      	r0, r4
    3a52:	6d47      	mov      	r5, r1
    3a54:	e3ffe628 	bsr      	0x6a4	// 6a4 <__extendsfdf2>
    3a58:	6c83      	mov      	r2, r0
    3a5a:	6cc7      	mov      	r3, r1
    3a5c:	6c1b      	mov      	r0, r6
    3a5e:	6c57      	mov      	r1, r5
    3a60:	e3ffe802 	bsr      	0xa64	// a64 <__muldf3>
    3a64:	e3ffeac0 	bsr      	0xfe4	// fe4 <__truncdfsf2>

    return y;
}
    3a68:	1494      	pop      	r4-r7, r15
    3a6a:	0000      	bkpt
    3a6c:	5f3759df 	.long	0x5f3759df
    3a70:	3ff80000 	.long	0x3ff80000

Disassembly of section .text.V_Convert_R:

00003a74 <V_Convert_R>:

//将电压转成电阻
//输入的 VDD 
//V_Div 
float V_Convert_R(float Vdd,float V_Div)
{
    3a74:	14d2      	push      	r4-r5, r15
    3a76:	6d07      	mov      	r4, r1
    float R_Div = 1000.0;
    float R_Up;

    if(V_Div > (Vdd - 1000)) R_Up = 0;
    3a78:	1033      	lrw      	r1, 0x447a0000	// 3ac4 <V_Convert_R+0x50>
{
    3a7a:	6d43      	mov      	r5, r0
    if(V_Div > (Vdd - 1000)) R_Up = 0;
    3a7c:	e3ffe45c 	bsr      	0x334	// 334 <__subsf3>
    3a80:	6c53      	mov      	r1, r4
    3a82:	e3ffe5af 	bsr      	0x5e0	// 5e0 <__ltsf2>
    3a86:	38df      	btsti      	r0, 31
    3a88:	081a      	bt      	0x3abc	// 3abc <V_Convert_R+0x48>
    else if(V_Div < 100) R_Up = 10000; 
    3a8a:	1030      	lrw      	r1, 0x42c80000	// 3ac8 <V_Convert_R+0x54>
    3a8c:	6c13      	mov      	r0, r4
    3a8e:	e3ffe5a9 	bsr      	0x5e0	// 5e0 <__ltsf2>
    3a92:	38df      	btsti      	r0, 31
    3a94:	0816      	bt      	0x3ac0	// 3ac0 <V_Convert_R+0x4c>
    else
    {
        R_Up = (R_Div * (Vdd - V_Div)) / V_Div; //上拉电阻 = (分压电阻 * (VDD - 分压)) / 分压 
    3a96:	6c53      	mov      	r1, r4
    3a98:	6c17      	mov      	r0, r5
    3a9a:	e3ffe44d 	bsr      	0x334	// 334 <__subsf3>
    3a9e:	102a      	lrw      	r1, 0x447a0000	// 3ac4 <V_Convert_R+0x50>
    3aa0:	e3ffe468 	bsr      	0x370	// 370 <__mulsf3>
    3aa4:	6c53      	mov      	r1, r4
    3aa6:	e3ffe4ed 	bsr      	0x480	// 480 <__divsf3>
        R_Up *= 0.9930; //补偿; Pt1000测量误差0 ~ 6Ω
    3aaa:	e3ffe5fd 	bsr      	0x6a4	// 6a4 <__extendsfdf2>
    3aae:	1048      	lrw      	r2, 0xef9db22d	// 3acc <V_Convert_R+0x58>
    3ab0:	1068      	lrw      	r3, 0x3fefc6a7	// 3ad0 <V_Convert_R+0x5c>
    3ab2:	e3ffe7d9 	bsr      	0xa64	// a64 <__muldf3>
    3ab6:	e3ffea97 	bsr      	0xfe4	// fe4 <__truncdfsf2>
    }
    
    return R_Up;
}
    3aba:	1492      	pop      	r4-r5, r15
    if(V_Div > (Vdd - 1000)) R_Up = 0;
    3abc:	3000      	movi      	r0, 0
    3abe:	07fe      	br      	0x3aba	// 3aba <V_Convert_R+0x46>
    else if(V_Div < 100) R_Up = 10000; 
    3ac0:	1005      	lrw      	r0, 0x461c4000	// 3ad4 <V_Convert_R+0x60>
    return R_Up;
    3ac2:	07fc      	br      	0x3aba	// 3aba <V_Convert_R+0x46>
    3ac4:	447a0000 	.long	0x447a0000
    3ac8:	42c80000 	.long	0x42c80000
    3acc:	ef9db22d 	.long	0xef9db22d
    3ad0:	3fefc6a7 	.long	0x3fefc6a7
    3ad4:	461c4000 	.long	0x461c4000

Disassembly of section .text.Quadratic:

00003ad8 <Quadratic>:
//Pt1000电阻转C温度值
//Pt1000铂电阻的一元二次解温度公式
//输入电阻值, 例如 1000.000
//返回 C温度(有符号值),有效位小数点后2位
double Quadratic(float R_x)
{
    3ad8:	14d3      	push      	r4-r6, r15
    float a;
    float b;
    float c;
    float x = 0.0;

    if(R_x <= 803)
    3ada:	1128      	lrw      	r1, 0x4448c000	// 3b78 <Quadratic+0xa0>
{
    3adc:	6d03      	mov      	r4, r0
    if(R_x <= 803)
    3ade:	e3ffe59d 	bsr      	0x618	// 618 <__lesf2>
    3ae2:	3820      	cmplti      	r0, 1
    3ae4:	11a6      	lrw      	r5, 0x200003e0	// 3b7c <Quadratic+0xa4>
    3ae6:	0c08      	bf      	0x3af6	// 3af6 <Quadratic+0x1e>
    { //判断Pt1000电阻 <= 100, 就认为铂电阻短路
        x = -222.935332;
        Pt1000_State = Pt1000_Short;
    3ae8:	3301      	movi      	r3, 1
    3aea:	b560      	st.w      	r3, (r5, 0x0)
        x = -222.935332;
    3aec:	1185      	lrw      	r4, 0xc35eef72	// 3b80 <Quadratic+0xa8>
        
		if(InvSqrt(x) != 0) x = (-b + 1.0/InvSqrt(x)) / (2.0 * a);
        Pt1000_State = Pt1000_Normal;
    }

    return x;
    3aee:	6c13      	mov      	r0, r4
    3af0:	e3ffe5da 	bsr      	0x6a4	// 6a4 <__extendsfdf2>
}
    3af4:	1493      	pop      	r4-r6, r15
    else if (R_x >= 3120) //[肉探针测量的最高阻值不到5k], Pt1000电阻,本身测量范围:[-58,572]F; [-50,300]C; [803.063,2120.515]Ω
    3af6:	1124      	lrw      	r1, 0x45430000	// 3b84 <Quadratic+0xac>
    3af8:	6c13      	mov      	r0, r4
    3afa:	e3ffe557 	bsr      	0x5a8	// 5a8 <__gesf2>
    3afe:	38df      	btsti      	r0, 31
    3b00:	0805      	bt      	0x3b0a	// 3b0a <Quadratic+0x32>
        Pt1000_State = Pt1000_Open;
    3b02:	3302      	movi      	r3, 2
    3b04:	b560      	st.w      	r3, (r5, 0x0)
        x = 1256.896275;
    3b06:	1181      	lrw      	r4, 0x449d1cae	// 3b88 <Quadratic+0xb0>
    3b08:	07f3      	br      	0x3aee	// 3aee <Quadratic+0x16>
        c = 1000.000 - R_x;
    3b0a:	6c53      	mov      	r1, r4
    3b0c:	1100      	lrw      	r0, 0x447a0000	// 3b8c <Quadratic+0xb4>
    3b0e:	e3ffe413 	bsr      	0x334	// 334 <__subsf3>
        x = b * b - (4.0 * a * c);
    3b12:	e3ffe5c9 	bsr      	0x6a4	// 6a4 <__extendsfdf2>
    3b16:	32c0      	movi      	r2, 192
    3b18:	4258      	lsli      	r2, r2, 24
    3b1a:	107e      	lrw      	r3, 0xbf62ec6b	// 3b90 <Quadratic+0xb8>
    3b1c:	e3ffe7a4 	bsr      	0xa64	// a64 <__muldf3>
    3b20:	6c83      	mov      	r2, r0
    3b22:	30a0      	movi      	r0, 160
    3b24:	6cc7      	mov      	r3, r1
    3b26:	4018      	lsli      	r0, r0, 24
    3b28:	103b      	lrw      	r1, 0x402e8cb3	// 3b94 <Quadratic+0xbc>
    3b2a:	e3ffe77b 	bsr      	0xa20	// a20 <__subdf3>
    3b2e:	e3ffea5b 	bsr      	0xfe4	// fe4 <__truncdfsf2>
    3b32:	6d03      	mov      	r4, r0
		if(InvSqrt(x) != 0) x = (-b + 1.0/InvSqrt(x)) / (2.0 * a);
    3b34:	e3ffff58 	bsr      	0x39e4	// 39e4 <InvSqrt>
    3b38:	3100      	movi      	r1, 0
    3b3a:	6d83      	mov      	r6, r0
    3b3c:	e3ffe4fe 	bsr      	0x538	// 538 <__nesf2>
    3b40:	3840      	cmpnei      	r0, 0
    3b42:	0c17      	bf      	0x3b70	// 3b70 <Quadratic+0x98>
    3b44:	6c1b      	mov      	r0, r6
    3b46:	e3ffe5af 	bsr      	0x6a4	// 6a4 <__extendsfdf2>
    3b4a:	6c83      	mov      	r2, r0
    3b4c:	6cc7      	mov      	r3, r1
    3b4e:	3000      	movi      	r0, 0
    3b50:	1032      	lrw      	r1, 0x3ff00000	// 3b98 <Quadratic+0xc0>
    3b52:	e3ffe8a3 	bsr      	0xc98	// c98 <__divdf3>
    3b56:	32c0      	movi      	r2, 192
    3b58:	4258      	lsli      	r2, r2, 24
    3b5a:	1071      	lrw      	r3, 0x400f4432	// 3b9c <Quadratic+0xc4>
    3b5c:	e3ffe762 	bsr      	0xa20	// a20 <__subdf3>
    3b60:	32c0      	movi      	r2, 192
    3b62:	4258      	lsli      	r2, r2, 24
    3b64:	106f      	lrw      	r3, 0xbf52ec6b	// 3ba0 <Quadratic+0xc8>
    3b66:	e3ffe899 	bsr      	0xc98	// c98 <__divdf3>
    3b6a:	e3ffea3d 	bsr      	0xfe4	// fe4 <__truncdfsf2>
    3b6e:	6d03      	mov      	r4, r0
        Pt1000_State = Pt1000_Normal;
    3b70:	3300      	movi      	r3, 0
    3b72:	b560      	st.w      	r3, (r5, 0x0)
    3b74:	07bd      	br      	0x3aee	// 3aee <Quadratic+0x16>
    3b76:	0000      	bkpt
    3b78:	4448c000 	.long	0x4448c000
    3b7c:	200003e0 	.long	0x200003e0
    3b80:	c35eef72 	.long	0xc35eef72
    3b84:	45430000 	.long	0x45430000
    3b88:	449d1cae 	.long	0x449d1cae
    3b8c:	447a0000 	.long	0x447a0000
    3b90:	bf62ec6b 	.long	0xbf62ec6b
    3b94:	402e8cb3 	.long	0x402e8cb3
    3b98:	3ff00000 	.long	0x3ff00000
    3b9c:	400f4432 	.long	0x400f4432
    3ba0:	bf52ec6b 	.long	0xbf52ec6b

Disassembly of section .text.Quadratic_F:

00003ba4 <Quadratic_F>:

//输入: Pt1000电阻, 输出: F温度值
double Quadratic_F(double R_x)
{
    3ba4:	14d0      	push      	r15
    double temp;
    
    temp = Quadratic(R_x);
    3ba6:	e3ffea1f 	bsr      	0xfe4	// fe4 <__truncdfsf2>
    3baa:	e3ffff97 	bsr      	0x3ad8	// 3ad8 <Quadratic>
    F_temp *= 1.8;
    3bae:	1045      	lrw      	r2, 0xcccccccd	// 3bc0 <Quadratic_F+0x1c>
    3bb0:	1065      	lrw      	r3, 0x3ffccccc	// 3bc4 <Quadratic_F+0x20>
    3bb2:	e3ffe759 	bsr      	0xa64	// a64 <__muldf3>
    F_temp += 32;
    3bb6:	3200      	movi      	r2, 0
    3bb8:	1064      	lrw      	r3, 0x40400000	// 3bc8 <Quadratic_F+0x24>
    3bba:	e3ffe71b 	bsr      	0x9f0	// 9f0 <__adddf3>
    temp = CTemp_Convert_FTemp(temp);

    return temp;
}
    3bbe:	1490      	pop      	r15
    3bc0:	cccccccd 	.long	0xcccccccd
    3bc4:	3ffccccc 	.long	0x3ffccccc
    3bc8:	40400000 	.long	0x40400000

Disassembly of section .text.UI_Show:

00003bcc <UI_Show>:
uint16_t Ver_Enable = 0;
uint16_t Shutdown_CountDown = 0;


void UI_Show(int32_t temp)
{
    3bcc:	14d4      	push      	r4-r7, r15
    3bce:	1421      	subi      	r14, r14, 4
    static uint8_t seq;
    uint8_t show_H1 = 0;

    UI_System.UI_Show_Colon = UI_OFF;
    3bd0:	128f      	lrw      	r4, 0x200003e4	// 3d0c <UI_Show+0x140>
    UI_System.ShutdownCount = 0;
    3bd2:	3140      	movi      	r1, 64
    UI_System.UI_Show_Colon = UI_OFF;
    3bd4:	3300      	movi      	r3, 0
    UI_System.ShutdownCount = 0;
    3bd6:	6050      	addu      	r1, r4
    UI_System.UI_Show_Colon = UI_OFF;
    3bd8:	b475      	st.w      	r3, (r4, 0x54)
    UI_System.ShutdownCount = 0;
    3bda:	a96c      	st.h      	r3, (r1, 0x18)
    3bdc:	12ad      	lrw      	r5, 0x2000011a	// 3d10 <UI_Show+0x144>
    if((Switch_State == Temp_Shutoff) && (ExhaustFanClock == 0))
    3bde:	126e      	lrw      	r3, 0x20000114	// 3d14 <UI_Show+0x148>
    3be0:	8b60      	ld.h      	r3, (r3, 0x0)
    3be2:	3b40      	cmpnei      	r3, 0
    3be4:	080c      	bt      	0x3bfc	// 3bfc <UI_Show+0x30>
    3be6:	126d      	lrw      	r3, 0x20000140	// 3d18 <UI_Show+0x14c>
    3be8:	8b60      	ld.h      	r3, (r3, 0x0)
    3bea:	3b40      	cmpnei      	r3, 0
    3bec:	0808      	bt      	0x3bfc	// 3bfc <UI_Show+0x30>
        temp = Tube_Encoder_None;
        temp <<= 8;
        temp |= Tube_Encoder_None;
        temp <<= 8;
        temp |= Tube_Encoder_None;
        if(Ver_Enable == 0) NT_CharsSettings(temp);
    3bee:	8d60      	ld.h      	r3, (r5, 0x0)
    3bf0:	3b40      	cmpnei      	r3, 0
    3bf2:	0844      	bt      	0x3c7a	// 3c7a <UI_Show+0xae>
    3bf4:	120a      	lrw      	r0, 0xd0d0d	// 3d1c <UI_Show+0x150>
                temp = Tube_Encoder_O;
                temp <<= 8;
                temp |= Tube_Encoder_F;
                temp <<= 8;
                temp |= Tube_Encoder_F;
                NT_CharsSettings(temp);
    3bf6:	e3fffa3f 	bsr      	0x3074	// 3074 <NT_CharsSettings>
    3bfa:	0440      	br      	0x3c7a	// 3c7a <UI_Show+0xae>
    if((RTD[0].status == Pt_Normal) && (ExhaustFanClock == 0))
    3bfc:	1269      	lrw      	r3, 0x20000498	// 3d20 <UI_Show+0x154>
    3bfe:	9361      	ld.w      	r3, (r3, 0x4)
    3c00:	3b40      	cmpnei      	r3, 0
    3c02:	0842      	bt      	0x3c86	// 3c86 <UI_Show+0xba>
    3c04:	1265      	lrw      	r3, 0x20000140	// 3d18 <UI_Show+0x14c>
    3c06:	8b60      	ld.h      	r3, (r3, 0x0)
    3c08:	3b40      	cmpnei      	r3, 0
    3c0a:	083e      	bt      	0x3c86	// 3c86 <UI_Show+0xba>
        if((switch_trigger_Flag > 0) && (temp_set != Temp_Set_Smoke))
    3c0c:	1266      	lrw      	r3, 0x20000116	// 3d24 <UI_Show+0x158>
    3c0e:	8360      	ld.b      	r3, (r3, 0x0)
    3c10:	3b40      	cmpnei      	r3, 0
    3c12:	12c6      	lrw      	r6, 0x200003da	// 3d28 <UI_Show+0x15c>
    3c14:	12e6      	lrw      	r7, 0x200003d2	// 3d2c <UI_Show+0x160>
    3c16:	0c14      	bf      	0x3c3e	// 3c3e <UI_Show+0x72>
    3c18:	1266      	lrw      	r3, 0x20000068	// 3d30 <UI_Show+0x164>
    3c1a:	8b60      	ld.h      	r3, (r3, 0x0)
    3c1c:	32a5      	movi      	r2, 165
    3c1e:	648e      	cmpne      	r3, r2
    3c20:	0c0f      	bf      	0x3c3e	// 3c3e <UI_Show+0x72>
            if(UI_System.Grill_Unit == Unit_C)
    3c22:	9453      	ld.w      	r2, (r4, 0x4c)
    3c24:	3a42      	cmpnei      	r2, 2
                temp = F_Convert_C(temp);
    3c26:	6c0f      	mov      	r0, r3
            if(UI_System.Grill_Unit == Unit_C)
    3c28:	0805      	bt      	0x3c32	// 3c32 <UI_Show+0x66>
                temp = F_Convert_C(temp);
    3c2a:	b860      	st.w      	r3, (r14, 0x0)
    3c2c:	e3ffface 	bsr      	0x31c8	// 31c8 <F_Convert_C>
    3c30:	9860      	ld.w      	r3, (r14, 0x0)
            Keyboard_Show_Count = 0;
    3c32:	3200      	movi      	r2, 0
    3c34:	ae40      	st.h      	r2, (r6, 0x0)
            Keyboard1_Show_Count = 0;
    3c36:	af40      	st.h      	r2, (r7, 0x0)
        if(show_H1 == 0) NT_NumsSettings(temp);
    3c38:	115f      	lrw      	r2, 0x1c1	// 3d34 <UI_Show+0x168>
    3c3a:	64c9      	cmplt      	r2, r3
    3c3c:	0821      	bt      	0x3c7e	// 3c7e <UI_Show+0xb2>
    3c3e:	e3fffa21 	bsr      	0x3080	// 3080 <NT_NumsSettings>
        if(Keyboard_Show_Count > 0)
    3c42:	8e60      	ld.h      	r3, (r6, 0x0)
    3c44:	3b40      	cmpnei      	r3, 0
    3c46:	0c09      	bf      	0x3c58	// 3c58 <UI_Show+0x8c>
            Keyboard1_Show_Count = 0;
    3c48:	3300      	movi      	r3, 0
            temp |= UI_System.Pset - PSet_0;
    3c4a:	840c      	ld.b      	r0, (r4, 0xc)
            Keyboard1_Show_Count = 0;
    3c4c:	af60      	st.h      	r3, (r7, 0x0)
            temp |= UI_System.Pset - PSet_0;
    3c4e:	2800      	subi      	r0, 1
    3c50:	117a      	lrw      	r3, 0x171300	// 3d38 <UI_Show+0x16c>
    3c52:	6c0c      	or      	r0, r3
            NT_CharsSettings(temp);
    3c54:	e3fffa10 	bsr      	0x3074	// 3074 <NT_CharsSettings>
        if(Keyboard1_Show_Count > 0)
    3c58:	8f60      	ld.h      	r3, (r7, 0x0)
    3c5a:	3b40      	cmpnei      	r3, 0
    3c5c:	0c0a      	bf      	0x3c70	// 3c70 <UI_Show+0xa4>
            Keyboard_Show_Count = 0;
    3c5e:	3300      	movi      	r3, 0
    3c60:	ae60      	st.h      	r3, (r6, 0x0)
            temp |= key_mset_state;
    3c62:	1177      	lrw      	r3, 0x20000112	// 3d3c <UI_Show+0x170>
    3c64:	8300      	ld.b      	r0, (r3, 0x0)
    3c66:	33b8      	movi      	r3, 184
    3c68:	436d      	lsli      	r3, r3, 13
    3c6a:	6c0c      	or      	r0, r3
            NT_CharsSettings(temp);
    3c6c:	e3fffa04 	bsr      	0x3074	// 3074 <NT_CharsSettings>
        if(Shutdown_CountDown > 0) Shutdown_CountDown = 0;
    3c70:	8d61      	ld.h      	r3, (r5, 0x2)
    3c72:	3b40      	cmpnei      	r3, 0
    3c74:	0c03      	bf      	0x3c7a	// 3c7a <UI_Show+0xae>
    3c76:	3300      	movi      	r3, 0
    3c78:	ad61      	st.h      	r3, (r5, 0x2)
                    NT_NumsSettings(temp);
                }
            }
        }
    }
}
    3c7a:	1401      	addi      	r14, r14, 4
    3c7c:	1494      	pop      	r4-r7, r15
            NT_CharsSettings(temp);
    3c7e:	1111      	lrw      	r0, 0x12010d	// 3d40 <UI_Show+0x174>
    3c80:	e3fff9fa 	bsr      	0x3074	// 3074 <NT_CharsSettings>
    3c84:	07df      	br      	0x3c42	// 3c42 <UI_Show+0x76>
        if(Temp_Param.oven_Err != Pt_Normal)
    3c86:	1170      	lrw      	r3, 0x200004b8	// 3d44 <UI_Show+0x178>
    3c88:	9361      	ld.w      	r3, (r3, 0x4)
    3c8a:	3b40      	cmpnei      	r3, 0
    3c8c:	0c11      	bf      	0x3cae	// 3cae <UI_Show+0xe2>
            if(Temp_Param.oven_Err == Pt_Open)
    3c8e:	3b41      	cmpnei      	r3, 1
    3c90:	0803      	bt      	0x3c96	// 3c96 <UI_Show+0xca>
                NT_CharsSettings(temp);
    3c92:	110e      	lrw      	r0, 0xb0c16	// 3d48 <UI_Show+0x17c>
    3c94:	07ec      	br      	0x3c6c	// 3c6c <UI_Show+0xa0>
            else if(Temp_Param.oven_Err == Pt_Short)
    3c96:	3b42      	cmpnei      	r3, 2
    3c98:	0803      	bt      	0x3c9e	// 3c9e <UI_Show+0xd2>
                NT_CharsSettings(temp);
    3c9a:	110d      	lrw      	r0, 0xb0c15	// 3d4c <UI_Show+0x180>
    3c9c:	07e8      	br      	0x3c6c	// 3c6c <UI_Show+0xa0>
            else if(Temp_Param.oven_Err == Pt_LowTemp)
    3c9e:	3b43      	cmpnei      	r3, 3
    3ca0:	0803      	bt      	0x3ca6	// 3ca6 <UI_Show+0xda>
                NT_CharsSettings(temp);
    3ca2:	110c      	lrw      	r0, 0xb0c11	// 3d50 <UI_Show+0x184>
    3ca4:	07e4      	br      	0x3c6c	// 3c6c <UI_Show+0xa0>
            else if(Temp_Param.oven_Err == Pt_HighTemp)
    3ca6:	3b44      	cmpnei      	r3, 4
    3ca8:	0be4      	bt      	0x3c70	// 3c70 <UI_Show+0xa4>
                NT_CharsSettings(temp);
    3caa:	110b      	lrw      	r0, 0xb0c12	// 3d54 <UI_Show+0x188>
    3cac:	07e0      	br      	0x3c6c	// 3c6c <UI_Show+0xa0>
            if(Shutdown_CountDown == 0) Shutdown_CountDown = 1;
    3cae:	8d61      	ld.h      	r3, (r5, 0x2)
    3cb0:	3b40      	cmpnei      	r3, 0
    3cb2:	0803      	bt      	0x3cb8	// 3cb8 <UI_Show+0xec>
    3cb4:	3301      	movi      	r3, 1
    3cb6:	ad61      	st.h      	r3, (r5, 0x2)
            if(Shutdown_CountDown <= 50)
    3cb8:	8d61      	ld.h      	r3, (r5, 0x2)
    3cba:	3232      	movi      	r2, 50
    3cbc:	64c8      	cmphs      	r2, r3
    3cbe:	0c03      	bf      	0x3cc4	// 3cc4 <UI_Show+0xf8>
                NT_CharsSettings(temp);
    3cc0:	1106      	lrw      	r0, 0x161414	// 3d58 <UI_Show+0x18c>
    3cc2:	079a      	br      	0x3bf6	// 3bf6 <UI_Show+0x2a>
            else if(Shutdown_CountDown <= 100)
    3cc4:	3264      	movi      	r2, 100
    3cc6:	64c8      	cmphs      	r2, r3
    3cc8:	0b96      	bt      	0x3bf4	// 3bf4 <UI_Show+0x28>
                if (ExhaustFanClock > FanClose_CountDown)
    3cca:	1074      	lrw      	r3, 0x20000140	// 3d18 <UI_Show+0x14c>
    3ccc:	3296      	movi      	r2, 150
    3cce:	8b00      	ld.h      	r0, (r3, 0x0)
    3cd0:	4242      	lsli      	r2, r2, 2
    3cd2:	6408      	cmphs      	r2, r0
    3cd4:	0fd1      	bf      	0x3c76	// 3c76 <UI_Show+0xaa>
                else if (ExhaustFanClock > 0)
    3cd6:	3840      	cmpnei      	r0, 0
    3cd8:	0fd1      	bf      	0x3c7a	// 3c7a <UI_Show+0xae>
                    UI_System.ShutdownCount = 1;
    3cda:	3501      	movi      	r5, 1
    3cdc:	a9ac      	st.h      	r5, (r1, 0x18)
                    if(ExhaustFanClock >= 600) ExhaustFanClock = 599;
    3cde:	6482      	cmpne      	r0, r2
                    UI_System.UI_Show_Colon = UI_ON;
    3ce0:	3101      	movi      	r1, 1
    3ce2:	b435      	st.w      	r1, (r4, 0x54)
                    if(ExhaustFanClock >= 600) ExhaustFanClock = 599;
    3ce4:	0803      	bt      	0x3cea	// 3cea <UI_Show+0x11e>
    3ce6:	105e      	lrw      	r2, 0x257	// 3d5c <UI_Show+0x190>
    3ce8:	ab40      	st.h      	r2, (r3, 0x0)
                    temp = ExhaustFanClock / 60; //时间 转 min
    3cea:	8ba0      	ld.h      	r5, (r3, 0x0)
    3cec:	313c      	movi      	r1, 60
    3cee:	6c17      	mov      	r0, r5
    3cf0:	e3fff822 	bsr      	0x2d34	// 2d34 <__udivsi3>
    3cf4:	7401      	zexth      	r0, r0
                    temp *= 100;
    3cf6:	3464      	movi      	r4, 100
    3cf8:	7d00      	mult      	r4, r0
                    temp += (ExhaustFanClock % 60); //时间 转 s
    3cfa:	313c      	movi      	r1, 60
    3cfc:	6c17      	mov      	r0, r5
    3cfe:	e3fff83f 	bsr      	0x2d7c	// 2d7c <__umodsi3>
    3d02:	7401      	zexth      	r0, r0
    3d04:	6010      	addu      	r0, r4
                    NT_NumsSettings(temp);
    3d06:	e3fff9bd 	bsr      	0x3080	// 3080 <NT_NumsSettings>
    3d0a:	07b8      	br      	0x3c7a	// 3c7a <UI_Show+0xae>
    3d0c:	200003e4 	.long	0x200003e4
    3d10:	2000011a 	.long	0x2000011a
    3d14:	20000114 	.long	0x20000114
    3d18:	20000140 	.long	0x20000140
    3d1c:	000d0d0d 	.long	0x000d0d0d
    3d20:	20000498 	.long	0x20000498
    3d24:	20000116 	.long	0x20000116
    3d28:	200003da 	.long	0x200003da
    3d2c:	200003d2 	.long	0x200003d2
    3d30:	20000068 	.long	0x20000068
    3d34:	000001c1 	.long	0x000001c1
    3d38:	00171300 	.long	0x00171300
    3d3c:	20000112 	.long	0x20000112
    3d40:	0012010d 	.long	0x0012010d
    3d44:	200004b8 	.long	0x200004b8
    3d48:	000b0c16 	.long	0x000b0c16
    3d4c:	000b0c15 	.long	0x000b0c15
    3d50:	000b0c11 	.long	0x000b0c11
    3d54:	000b0c12 	.long	0x000b0c12
    3d58:	00161414 	.long	0x00161414
    3d5c:	00000257 	.long	0x00000257

Disassembly of section .text.UI_Init:

00003d60 <UI_Init>:

void UI_Init(void)
{
    UI_System.Grill_Unit = Unit_F;
    3d60:	1066      	lrw      	r3, 0x200003e4	// 3d78 <UI_Init+0x18>
    3d62:	3201      	movi      	r2, 1
    3d64:	b353      	st.w      	r2, (r3, 0x4c)
    ExhaustFanClock = 0;
    3d66:	3100      	movi      	r1, 0
    3d68:	1045      	lrw      	r2, 0x20000140	// 3d7c <UI_Init+0x1c>
    UI_System.UI_Show_Colon = UI_OFF;
    UI_System.ShutdownCount = 0;
    3d6a:	233f      	addi      	r3, 64
    ExhaustFanClock = 0;
    3d6c:	aa20      	st.h      	r1, (r2, 0x0)
    UI_System.UI_Show_Colon = UI_OFF;
    3d6e:	3200      	movi      	r2, 0
    3d70:	b345      	st.w      	r2, (r3, 0x14)
    UI_System.ShutdownCount = 0;
    3d72:	ab4c      	st.h      	r2, (r3, 0x18)
}
    3d74:	783c      	jmp      	r15
    3d76:	0000      	bkpt
    3d78:	200003e4 	.long	0x200003e4
    3d7c:	20000140 	.long	0x20000140

Disassembly of section .text.UI_Ver:

00003d80 <UI_Ver>:

//版本号格式：vFXXXX 华氏度,版本XX
//           vCXXXX 摄氏度,版本XX
//Tick 1s
void UI_Ver(void)
{
    3d80:	14d2      	push      	r4-r5, r15
    uint32_t temp;
    uint32_t ver = 33;
    static uint16_t ver_clock = 0;

    if(Switch_State != Temp_Shutoff) return;
    3d82:	1171      	lrw      	r3, 0x20000114	// 3e44 <UI_Ver+0xc4>
    3d84:	8b60      	ld.h      	r3, (r3, 0x0)
    3d86:	3b40      	cmpnei      	r3, 0
    3d88:	081e      	bt      	0x3dc4	// 3dc4 <UI_Ver+0x44>
    if(key_param.once1 == 0)
    3d8a:	1170      	lrw      	r3, 0x200003d8	// 3e48 <UI_Ver+0xc8>
    3d8c:	8361      	ld.b      	r3, (r3, 0x1)
    3d8e:	3bc0      	btsti      	r3, 0
    3d90:	11af      	lrw      	r5, 0x2000011a	// 3e4c <UI_Ver+0xcc>
    3d92:	081a      	bt      	0x3dc6	// 3dc6 <UI_Ver+0x46>
    {
        if(Ver_Enable > 0)
    3d94:	8d60      	ld.h      	r3, (r5, 0x0)
    3d96:	3b40      	cmpnei      	r3, 0
    3d98:	0c16      	bf      	0x3dc4	// 3dc4 <UI_Ver+0x44>
        {
            Com0_H;
    3d9a:	116e      	lrw      	r3, 0x20000048	// 3e50 <UI_Ver+0xd0>
            Com1_H;
    3d9c:	118e      	lrw      	r4, 0x2000004c	// 3e54 <UI_Ver+0xd4>
            Com0_H;
    3d9e:	3100      	movi      	r1, 0
    3da0:	9300      	ld.w      	r0, (r3, 0x0)
    3da2:	e3ffee37 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            Com1_H;
    3da6:	310d      	movi      	r1, 13
    3da8:	9400      	ld.w      	r0, (r4, 0x0)
    3daa:	e3ffee33 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            Com2_H;
    3dae:	310c      	movi      	r1, 12
    3db0:	9400      	ld.w      	r0, (r4, 0x0)
    3db2:	e3ffee2f 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            Com3_H;
    3db6:	9400      	ld.w      	r0, (r4, 0x0)
    3db8:	3104      	movi      	r1, 4
    3dba:	e3ffee2b 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            ver_clock = 0;
    3dbe:	3300      	movi      	r3, 0
    3dc0:	ad62      	st.h      	r3, (r5, 0x4)
            Ver_Enable = 0;
    3dc2:	ad60      	st.h      	r3, (r5, 0x0)
    }
    ver_clock++;
    if(ver_clock >= 6) ver_clock = 0;
    NT_Shine_Stop();
    NT_CharsSettings(temp);
}
    3dc4:	1492      	pop      	r4-r5, r15
    Ver_Enable = 1;
    3dc6:	3301      	movi      	r3, 1
    3dc8:	ad60      	st.h      	r3, (r5, 0x0)
    if(ver_clock == 0)
    3dca:	8d62      	ld.h      	r3, (r5, 0x4)
    3dcc:	3b40      	cmpnei      	r3, 0
    3dce:	0c33      	bf      	0x3e34	// 3e34 <UI_Ver+0xb4>
    else if(ver_clock == 1)
    3dd0:	3b41      	cmpnei      	r3, 1
    3dd2:	0811      	bt      	0x3df4	// 3df4 <UI_Ver+0x74>
        if(UI_System.Grill_Unit == Unit_F) temp |= Tube_Encoder_F; //F
    3dd4:	1141      	lrw      	r2, 0x200003e4	// 3e58 <UI_Ver+0xd8>
    3dd6:	9253      	ld.w      	r2, (r2, 0x4c)
    3dd8:	3a41      	cmpnei      	r2, 1
    3dda:	0c2f      	bf      	0x3e38	// 3e38 <UI_Ver+0xb8>
        else temp |= Tube_Encoder_C; //C
    3ddc:	1180      	lrw      	r4, 0x1918	// 3e5c <UI_Ver+0xdc>
    ver_clock++;
    3dde:	2300      	addi      	r3, 1
    3de0:	74cd      	zexth      	r3, r3
    if(ver_clock >= 6) ver_clock = 0;
    3de2:	3b05      	cmphsi      	r3, 6
    3de4:	082e      	bt      	0x3e40	// 3e40 <UI_Ver+0xc0>
    3de6:	ad62      	st.h      	r3, (r5, 0x4)
    NT_Shine_Stop();
    3de8:	e3fff92c 	bsr      	0x3040	// 3040 <NT_Shine_Stop>
    NT_CharsSettings(temp);
    3dec:	6c13      	mov      	r0, r4
    3dee:	e3fff943 	bsr      	0x3074	// 3074 <NT_CharsSettings>
    3df2:	07e9      	br      	0x3dc4	// 3dc4 <UI_Ver+0x44>
    else if(ver_clock == 2)
    3df4:	3b42      	cmpnei      	r3, 2
    3df6:	080c      	bt      	0x3e0e	// 3e0e <UI_Ver+0x8e>
        if(UI_System.Grill_Unit == Unit_F) temp |= Tube_Encoder_F; //F
    3df8:	1058      	lrw      	r2, 0x200003e4	// 3e58 <UI_Ver+0xd8>
    3dfa:	9253      	ld.w      	r2, (r2, 0x4c)
    3dfc:	3a41      	cmpnei      	r2, 1
    3dfe:	0c06      	bf      	0x3e0a	// 3e0a <UI_Ver+0x8a>
        else temp |= Tube_Encoder_C; //C
    3e00:	1097      	lrw      	r4, 0x1918	// 3e5c <UI_Ver+0xdc>
        temp <<= 8;
    3e02:	4488      	lsli      	r4, r4, 8
        temp |= (ver/10) % 10; //X
    3e04:	3ca0      	bseti      	r4, 0
    3e06:	3ca1      	bseti      	r4, 1
    3e08:	07eb      	br      	0x3dde	// 3dde <UI_Ver+0x5e>
        if(UI_System.Grill_Unit == Unit_F) temp |= Tube_Encoder_F; //F
    3e0a:	1096      	lrw      	r4, 0x1914	// 3e60 <UI_Ver+0xe0>
    3e0c:	07fb      	br      	0x3e02	// 3e02 <UI_Ver+0x82>
    else if(ver_clock == 3)
    3e0e:	3b43      	cmpnei      	r3, 3
    3e10:	080c      	bt      	0x3e28	// 3e28 <UI_Ver+0xa8>
        if(UI_System.Grill_Unit == Unit_F) temp = Tube_Encoder_F; //F
    3e12:	1052      	lrw      	r2, 0x200003e4	// 3e58 <UI_Ver+0xd8>
    3e14:	9253      	ld.w      	r2, (r2, 0x4c)
    3e16:	3a41      	cmpnei      	r2, 1
    3e18:	0c06      	bf      	0x3e24	// 3e24 <UI_Ver+0xa4>
        else temp = Tube_Encoder_C; //C
    3e1a:	3418      	movi      	r4, 24
    3e1c:	4490      	lsli      	r4, r4, 16
        temp |= (ver/1) % 10;
    3e1e:	1012      	lrw      	r0, 0x303	// 3e64 <UI_Ver+0xe4>
    3e20:	6d00      	or      	r4, r0
    3e22:	07de      	br      	0x3dde	// 3dde <UI_Ver+0x5e>
        if(UI_System.Grill_Unit == Unit_F) temp = Tube_Encoder_F; //F
    3e24:	3414      	movi      	r4, 20
    3e26:	07fb      	br      	0x3e1c	// 3e1c <UI_Ver+0x9c>
    else if(ver_clock == 4)
    3e28:	3b44      	cmpnei      	r3, 4
    3e2a:	0c09      	bf      	0x3e3c	// 3e3c <UI_Ver+0xbc>
    else if(ver_clock == 5)
    3e2c:	3b45      	cmpnei      	r3, 5
    3e2e:	0bd8      	bt      	0x3dde	// 3dde <UI_Ver+0x5e>
        temp |= Tube_Encoder_None;
    3e30:	108e      	lrw      	r4, 0x30d0d	// 3e68 <UI_Ver+0xe8>
    3e32:	07d6      	br      	0x3dde	// 3dde <UI_Ver+0x5e>
        temp = Tube_Encoder_v; //v
    3e34:	3419      	movi      	r4, 25
    3e36:	07d4      	br      	0x3dde	// 3dde <UI_Ver+0x5e>
        if(UI_System.Grill_Unit == Unit_F) temp |= Tube_Encoder_F; //F
    3e38:	108a      	lrw      	r4, 0x1914	// 3e60 <UI_Ver+0xe0>
    3e3a:	07d2      	br      	0x3dde	// 3dde <UI_Ver+0x5e>
        temp |= Tube_Encoder_None;
    3e3c:	108c      	lrw      	r4, 0x3030d	// 3e6c <UI_Ver+0xec>
    3e3e:	07d0      	br      	0x3dde	// 3dde <UI_Ver+0x5e>
    if(ver_clock >= 6) ver_clock = 0;
    3e40:	3300      	movi      	r3, 0
    3e42:	07d2      	br      	0x3de6	// 3de6 <UI_Ver+0x66>
    3e44:	20000114 	.long	0x20000114
    3e48:	200003d8 	.long	0x200003d8
    3e4c:	2000011a 	.long	0x2000011a
    3e50:	20000048 	.long	0x20000048
    3e54:	2000004c 	.long	0x2000004c
    3e58:	200003e4 	.long	0x200003e4
    3e5c:	00001918 	.long	0x00001918
    3e60:	00001914 	.long	0x00001914
    3e64:	00000303 	.long	0x00000303
    3e68:	00030d0d 	.long	0x00030d0d
    3e6c:	0003030d 	.long	0x0003030d

Disassembly of section .text.Flash_Write:

00003e70 <Flash_Write>:
#include "Flash_WR.h"
#include "Keyboard.h"


void Flash_Write(void)
{
    3e70:	14d0      	push      	r15
    EnIFCClk;
    3e72:	1068      	lrw      	r3, 0x2000005c	// 3e90 <Flash_Write+0x20>
    3e74:	3201      	movi      	r2, 1
    3e76:	9360      	ld.w      	r3, (r3, 0x0)
    3e78:	b341      	st.w      	r2, (r3, 0x4)
    Page_ProgramData3(PROM_PageAdd30,16,UI_System.Pset);	
    3e7a:	30f0      	movi      	r0, 240
    3e7c:	1066      	lrw      	r3, 0x200003e4	// 3e94 <Flash_Write+0x24>
    3e7e:	834c      	ld.b      	r2, (r3, 0xc)
    3e80:	3110      	movi      	r1, 16
    3e82:	4005      	lsli      	r0, r0, 5
    3e84:	e3fff1d8 	bsr      	0x2234	// 2234 <Page_ProgramData3>
    SYSCON_IWDCNT_Reload(); 
    3e88:	e3ffecce 	bsr      	0x1824	// 1824 <SYSCON_IWDCNT_Reload>
}
    3e8c:	1490      	pop      	r15
    3e8e:	0000      	bkpt
    3e90:	2000005c 	.long	0x2000005c
    3e94:	200003e4 	.long	0x200003e4

Disassembly of section .text.Flash_Read:

00003e98 <Flash_Read>:

void Flash_Read(void)
{
    3e98:	14d0      	push      	r15
	EnIFCClk;
    3e9a:	106b      	lrw      	r3, 0x2000005c	// 3ec4 <Flash_Read+0x2c>
    3e9c:	3201      	movi      	r2, 1
    3e9e:	9360      	ld.w      	r3, (r3, 0x0)
	ReadDataArry2(PROM_PageAdd30,16,&(UI_System.Pset));
    3ea0:	30f0      	movi      	r0, 240
	EnIFCClk;
    3ea2:	b341      	st.w      	r2, (r3, 0x4)
	ReadDataArry2(PROM_PageAdd30,16,&(UI_System.Pset));
    3ea4:	3110      	movi      	r1, 16
    3ea6:	1049      	lrw      	r2, 0x200003f0	// 3ec8 <Flash_Read+0x30>
    3ea8:	4005      	lsli      	r0, r0, 5
    3eaa:	e3fff207 	bsr      	0x22b8	// 22b8 <ReadDataArry2>
	SYSCON_IWDCNT_Reload();
    3eae:	e3ffecbb 	bsr      	0x1824	// 1824 <SYSCON_IWDCNT_Reload>
    if((UI_System.Pset < PSet_0) || (UI_System.Pset > PSet_7))  UI_System.Pset = PSet_4;
    3eb2:	1047      	lrw      	r2, 0x200003e4	// 3ecc <Flash_Read+0x34>
    3eb4:	826c      	ld.b      	r3, (r2, 0xc)
    3eb6:	2b00      	subi      	r3, 1
    3eb8:	74cc      	zextb      	r3, r3
    3eba:	3b07      	cmphsi      	r3, 8
    3ebc:	0c03      	bf      	0x3ec2	// 3ec2 <Flash_Read+0x2a>
    3ebe:	3305      	movi      	r3, 5
    3ec0:	a26c      	st.b      	r3, (r2, 0xc)
}
    3ec2:	1490      	pop      	r15
    3ec4:	2000005c 	.long	0x2000005c
    3ec8:	200003f0 	.long	0x200003f0
    3ecc:	200003e4 	.long	0x200003e4

Disassembly of section .text.FanCtrl_IOConfig:

00003ed0 <FanCtrl_IOConfig>:
uint8_t Open_Lid_Clock = 0;
uint16_t Open_Lid_temp[12] = {0};
uint8_t H_to_L = 0;

void FanCtrl_IOConfig(void)
{
    3ed0:	14d1      	push      	r4, r15
    GPIO_Init(GPIOB0,IO_Heater,Output);
    3ed2:	108a      	lrw      	r4, 0x20000048	// 3ef8 <FanCtrl_IOConfig+0x28>
    3ed4:	3200      	movi      	r2, 0
    3ed6:	9400      	ld.w      	r0, (r4, 0x0)
    3ed8:	3102      	movi      	r1, 2
    3eda:	e3ffed2b 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOB0,IO_Feed,Output);
    3ede:	9400      	ld.w      	r0, (r4, 0x0)
    3ee0:	3200      	movi      	r2, 0
    3ee2:	3103      	movi      	r1, 3
    3ee4:	e3ffed26 	bsr      	0x1930	// 1930 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Fan,Output);
    3ee8:	1065      	lrw      	r3, 0x2000004c	// 3efc <FanCtrl_IOConfig+0x2c>
    3eea:	3200      	movi      	r2, 0
    3eec:	9300      	ld.w      	r0, (r3, 0x0)
    3eee:	3108      	movi      	r1, 8
    3ef0:	e3ffed20 	bsr      	0x1930	// 1930 <GPIO_Init>
}
    3ef4:	1491      	pop      	r4, r15
    3ef6:	0000      	bkpt
    3ef8:	20000048 	.long	0x20000048
    3efc:	2000004c 	.long	0x2000004c

Disassembly of section .text.Open_Lid_Check:

00003f00 <Open_Lid_Check>:

bool Open_Lid_Check(void)
{
    3f00:	14d1      	push      	r4, r15
	if (Open_Lid_Clock>5)
    3f02:	106f      	lrw      	r3, 0x20000120	// 3f3c <Open_Lid_Check+0x3c>
    3f04:	8340      	ld.b      	r2, (r3, 0x0)
    3f06:	3a05      	cmphsi      	r2, 6
    3f08:	0c17      	bf      	0x3f36	// 3f36 <Open_Lid_Check+0x36>
    3f0a:	5b46      	addi      	r2, r3, 2
    3f0c:	3100      	movi      	r1, 0
    3f0e:	6c0b      	mov      	r0, r2
	{
		for(int i=0;i<11;i++)
		{
			Open_Lid_temp[i] = Open_Lid_temp[i+1];
    3f10:	2100      	addi      	r1, 1
    3f12:	8a81      	ld.h      	r4, (r2, 0x2)
		for(int i=0;i<11;i++)
    3f14:	394b      	cmpnei      	r1, 11
			Open_Lid_temp[i] = Open_Lid_temp[i+1];
    3f16:	aa80      	st.h      	r4, (r2, 0x0)
    3f18:	2201      	addi      	r2, 2
		for(int i=0;i<11;i++)
    3f1a:	0bfb      	bt      	0x3f10	// 3f10 <Open_Lid_Check+0x10>
		}
		Open_Lid_temp[11] = grill_temperature;
    3f1c:	9347      	ld.w      	r2, (r3, 0x1c)
    3f1e:	a84b      	st.h      	r2, (r0, 0x16)
		if((Open_Lid_temp[0]-Open_Lid_temp[11])>(Open_Lid_temp[0]/10))
    3f20:	310a      	movi      	r1, 10
    3f22:	8b01      	ld.h      	r0, (r3, 0x2)
    3f24:	7489      	zexth      	r2, r2
    3f26:	5889      	subu      	r4, r0, r2
    3f28:	e3fff706 	bsr      	0x2d34	// 2d34 <__udivsi3>
    3f2c:	7401      	zexth      	r0, r0
    3f2e:	6501      	cmplt      	r0, r4
    3f30:	6403      	mvcv      	r0
    3f32:	7400      	zextb      	r0, r0
		{
			return false;
		}
	}
	return true;
}
    3f34:	1491      	pop      	r4, r15
	return true;
    3f36:	3001      	movi      	r0, 1
    3f38:	07fe      	br      	0x3f34	// 3f34 <Open_Lid_Check+0x34>
    3f3a:	0000      	bkpt
    3f3c:	20000120 	.long	0x20000120

Disassembly of section .text.FanCtrlInit:

00003f40 <FanCtrlInit>:


//温控设备上电初始化
void FanCtrlInit(void)
{
    3f40:	14d1      	push      	r4, r15
    FanCtrl_IOConfig();
    //所有温控设备默认停止输出
    IgniterClose;
    3f42:	1094      	lrw      	r4, 0x20000048	// 3f90 <FanCtrlInit+0x50>
    FanCtrl_IOConfig();
    3f44:	e3ffffc6 	bsr      	0x3ed0	// 3ed0 <FanCtrl_IOConfig>
    IgniterClose;
    3f48:	9400      	ld.w      	r0, (r4, 0x0)
    3f4a:	3102      	movi      	r1, 2
    3f4c:	e3ffed62 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
    HeaterFanClose;
    3f50:	9400      	ld.w      	r0, (r4, 0x0)
    3f52:	3103      	movi      	r1, 3
    3f54:	e3ffed5e 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
    ExhaustFanClose;
    3f58:	106f      	lrw      	r3, 0x2000004c	// 3f94 <FanCtrlInit+0x54>
    3f5a:	3108      	movi      	r1, 8
    3f5c:	9300      	ld.w      	r0, (r3, 0x0)
    3f5e:	e3ffed59 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>

    Tick_1S_Count = 0;
    3f62:	3200      	movi      	r2, 0
    3f64:	106d      	lrw      	r3, 0x20000064	// 3f98 <FanCtrlInit+0x58>
    3f66:	ab40      	st.h      	r2, (r3, 0x0)
    HeatingFanStep = 0;
    3f68:	106d      	lrw      	r3, 0x20000446	// 3f9c <FanCtrlInit+0x5c>
    3f6a:	a340      	st.b      	r2, (r3, 0x0)
    IgniterStep = 0;
    3f6c:	106d      	lrw      	r3, 0x20000481	// 3fa0 <FanCtrlInit+0x60>
    3f6e:	a340      	st.b      	r2, (r3, 0x0)
    ExhaustFanStep = 0;
    3f70:	106d      	lrw      	r3, 0x2000047c	// 3fa4 <FanCtrlInit+0x64>
    3f72:	a340      	st.b      	r2, (r3, 0x0)

    HeaterFanStep = 0;
    3f74:	3200      	movi      	r2, 0
    3f76:	106d      	lrw      	r3, 0x2000047e	// 3fa8 <FanCtrlInit+0x68>
    3f78:	ab40      	st.h      	r2, (r3, 0x0)
    HeaterFanClock = 0;
    3f7a:	106d      	lrw      	r3, 0x20000448	// 3fac <FanCtrlInit+0x6c>
    3f7c:	ab40      	st.h      	r2, (r3, 0x0)
    ExhaustFanClock = 0;
    3f7e:	106d      	lrw      	r3, 0x20000120	// 3fb0 <FanCtrlInit+0x70>
    3f80:	ab50      	st.h      	r2, (r3, 0x20)
    IgniterClock = 0;
    3f82:	106d      	lrw      	r3, 0x2000044a	// 3fb4 <FanCtrlInit+0x74>
    3f84:	ab40      	st.h      	r2, (r3, 0x0)

    RTD[0].status = Pt_Normal;
    3f86:	3200      	movi      	r2, 0
    3f88:	106c      	lrw      	r3, 0x20000498	// 3fb8 <FanCtrlInit+0x78>
    3f8a:	b341      	st.w      	r2, (r3, 0x4)
}
    3f8c:	1491      	pop      	r4, r15
    3f8e:	0000      	bkpt
    3f90:	20000048 	.long	0x20000048
    3f94:	2000004c 	.long	0x2000004c
    3f98:	20000064 	.long	0x20000064
    3f9c:	20000446 	.long	0x20000446
    3fa0:	20000481 	.long	0x20000481
    3fa4:	2000047c 	.long	0x2000047c
    3fa8:	2000047e 	.long	0x2000047e
    3fac:	20000448 	.long	0x20000448
    3fb0:	20000120 	.long	0x20000120
    3fb4:	2000044a 	.long	0x2000044a
    3fb8:	20000498 	.long	0x20000498

Disassembly of section .text.FanCtrlClock:

00003fbc <FanCtrlClock>:

//所有温控设备的时钟源, Tick 10ms
void FanCtrlClock(void)
{
    3fbc:	14c1      	push      	r4
    static uint8_t Count;



    if(Tick_10mS_Count < 0xffff) Tick_10mS_Count++;
    3fbe:	1177      	lrw      	r3, 0x20000120	// 4098 <FanCtrlClock+0xdc>
    3fc0:	8b51      	ld.h      	r2, (r3, 0x22)
    3fc2:	1137      	lrw      	r1, 0xffff	// 409c <FanCtrlClock+0xe0>
    3fc4:	644a      	cmpne      	r2, r1
    3fc6:	0c03      	bf      	0x3fcc	// 3fcc <FanCtrlClock+0x10>
    3fc8:	2200      	addi      	r2, 1
    3fca:	ab51      	st.h      	r2, (r3, 0x22)
    if((Smake_10mS_Count > 0) && (Smake_10mS_Count < 0xffff)) Smake_10mS_Count++; 
    3fcc:	8b52      	ld.h      	r2, (r3, 0x24)
    3fce:	5a23      	subi      	r1, r2, 1
    3fd0:	7445      	zexth      	r1, r1
    3fd2:	1114      	lrw      	r0, 0xfffd	// 40a0 <FanCtrlClock+0xe4>
    3fd4:	6440      	cmphs      	r0, r1
    3fd6:	0c03      	bf      	0x3fdc	// 3fdc <FanCtrlClock+0x20>
    3fd8:	2200      	addi      	r2, 1
    3fda:	ab52      	st.h      	r2, (r3, 0x24)
    Count++;
    3fdc:	1132      	lrw      	r1, 0x20000140	// 40a4 <FanCtrlClock+0xe8>
    3fde:	8146      	ld.b      	r2, (r1, 0x6)
	millis_10ms++;
    3fe0:	930a      	ld.w      	r0, (r3, 0x28)
    3fe2:	2000      	addi      	r0, 1
    Count++;
    3fe4:	2200      	addi      	r2, 1
    3fe6:	7488      	zextb      	r2, r2
	millis_10ms++;
    3fe8:	b30a      	st.w      	r0, (r3, 0x28)
    if (Count >= 100)
    3fea:	3063      	movi      	r0, 99
    3fec:	6480      	cmphs      	r0, r2
    Count++;
    3fee:	a146      	st.b      	r2, (r1, 0x6)
    if (Count >= 100)
    3ff0:	084d      	bt      	0x408a	// 408a <FanCtrlClock+0xce>
    {
        Count = 0;
    3ff2:	3200      	movi      	r2, 0
    3ff4:	a146      	st.b      	r2, (r1, 0x6)
        if(Tick_1S_Count < 0xffff) Tick_1S_Count++; //标记产生1s计时
    3ff6:	110a      	lrw      	r0, 0xffff	// 409c <FanCtrlClock+0xe0>
    3ff8:	112c      	lrw      	r1, 0x20000064	// 40a8 <FanCtrlClock+0xec>
    3ffa:	8940      	ld.h      	r2, (r1, 0x0)
    3ffc:	640a      	cmpne      	r2, r0
    3ffe:	0c03      	bf      	0x4004	// 4004 <FanCtrlClock+0x48>
    4000:	2200      	addi      	r2, 1
    4002:	a940      	st.h      	r2, (r1, 0x0)

        if (ExhaustFanClock > 0) 
    4004:	8b50      	ld.h      	r2, (r3, 0x20)
    4006:	3a40      	cmpnei      	r2, 0
    4008:	0c08      	bf      	0x4018	// 4018 <FanCtrlClock+0x5c>
		{
			ExhaustFanClock--;
    400a:	2a00      	subi      	r2, 1
    400c:	7489      	zexth      	r2, r2
			if(ExhaustFanClock==0)
    400e:	3a40      	cmpnei      	r2, 0
			ExhaustFanClock--;
    4010:	ab50      	st.h      	r2, (r3, 0x20)
			if(ExhaustFanClock==0)
    4012:	0803      	bt      	0x4018	// 4018 <FanCtrlClock+0x5c>
			UI_System.UI_Show = UI_OFF;
    4014:	1106      	lrw      	r0, 0x200003e4	// 40ac <FanCtrlClock+0xf0>
    4016:	b054      	st.w      	r2, (r0, 0x50)
		}

        if(PowerDown_Clock > 0) PowerDown_Clock--;
    4018:	8941      	ld.h      	r2, (r1, 0x2)
    401a:	3a40      	cmpnei      	r2, 0
    401c:	0c03      	bf      	0x4022	// 4022 <FanCtrlClock+0x66>
    401e:	2a00      	subi      	r2, 1
    4020:	a941      	st.h      	r2, (r1, 0x2)
        if ((IgniterClock >= 1) && (IgniterClock < 0xffff)) IgniterClock++;
    4022:	1104      	lrw      	r0, 0x2000044a	// 40b0 <FanCtrlClock+0xf4>
    4024:	8840      	ld.h      	r2, (r0, 0x0)
    4026:	5a23      	subi      	r1, r2, 1
    4028:	7445      	zexth      	r1, r1
    402a:	109e      	lrw      	r4, 0xfffd	// 40a0 <FanCtrlClock+0xe4>
    402c:	6450      	cmphs      	r4, r1
    402e:	0c03      	bf      	0x4034	// 4034 <FanCtrlClock+0x78>
    4030:	2200      	addi      	r2, 1
    4032:	a840      	st.h      	r2, (r0, 0x0)
        //烟熏控制相关变量
        if (HeaterFanClock < 0xffff) HeaterFanClock++;
    4034:	1120      	lrw      	r1, 0x20000448	// 40b4 <FanCtrlClock+0xf8>
    4036:	8940      	ld.h      	r2, (r1, 0x0)
    4038:	1019      	lrw      	r0, 0xffff	// 409c <FanCtrlClock+0xe0>
    403a:	640a      	cmpne      	r2, r0
    403c:	0c03      	bf      	0x4042	// 4042 <FanCtrlClock+0x86>
    403e:	2200      	addi      	r2, 1
    4040:	a940      	st.h      	r2, (r1, 0x0)
		if (ExhaustHeatingClock > 0) ExhaustHeatingClock--;
    4042:	8b56      	ld.h      	r2, (r3, 0x2c)
    4044:	3a40      	cmpnei      	r2, 0
    4046:	0c03      	bf      	0x404c	// 404c <FanCtrlClock+0x90>
    4048:	2a00      	subi      	r2, 1
    404a:	ab56      	st.h      	r2, (r3, 0x2c)
		if (PID_T_1s > 0) PID_T_1s++;
    404c:	8b57      	ld.h      	r2, (r3, 0x2e)
    404e:	3a40      	cmpnei      	r2, 0
    4050:	0c03      	bf      	0x4056	// 4056 <FanCtrlClock+0x9a>
    4052:	2200      	addi      	r2, 1
    4054:	ab57      	st.h      	r2, (r3, 0x2e)
		
		if(temp_diff<50&&temp_diff>-50&&filter_fun==1)
    4056:	1079      	lrw      	r3, 0x20000218	// 40b8 <FanCtrlClock+0xfc>
    4058:	3262      	movi      	r2, 98
    405a:	9360      	ld.w      	r3, (r3, 0x0)
    405c:	2330      	addi      	r3, 49
    405e:	64c8      	cmphs      	r2, r3
    4060:	1077      	lrw      	r3, 0x2000022c	// 40bc <FanCtrlClock+0x100>
    4062:	0c15      	bf      	0x408c	// 408c <FanCtrlClock+0xd0>
    4064:	1057      	lrw      	r2, 0x2000021c	// 40c0 <FanCtrlClock+0x104>
    4066:	8240      	ld.b      	r2, (r2, 0x0)
    4068:	3a40      	cmpnei      	r2, 0
    406a:	0c11      	bf      	0x408c	// 408c <FanCtrlClock+0xd0>
		{
			if(temp_set_updata > 0 && temp_set_updata < 0xffff) temp_set_updata++; //标记产生1s计时
    406c:	1016      	lrw      	r0, 0x2000021e	// 40c4 <FanCtrlClock+0x108>
    406e:	8840      	ld.h      	r2, (r0, 0x0)
    4070:	5a23      	subi      	r1, r2, 1
    4072:	7445      	zexth      	r1, r1
    4074:	108b      	lrw      	r4, 0xfffd	// 40a0 <FanCtrlClock+0xe4>
    4076:	6450      	cmphs      	r4, r1
    4078:	0c03      	bf      	0x407e	// 407e <FanCtrlClock+0xc2>
    407a:	2200      	addi      	r2, 1
    407c:	a840      	st.h      	r2, (r0, 0x0)
			if (temp_filter_time < 300)
    407e:	9340      	ld.w      	r2, (r3, 0x0)
    4080:	1032      	lrw      	r1, 0x12b	// 40c8 <FanCtrlClock+0x10c>
    4082:	6485      	cmplt      	r1, r2
    4084:	0803      	bt      	0x408a	// 408a <FanCtrlClock+0xce>
			temp_filter_time++;
    4086:	2200      	addi      	r2, 1
		}
		else 
		{
			if (temp_filter_time > 1)
			temp_filter_time--;
    4088:	b340      	st.w      	r2, (r3, 0x0)
		}
    }
}
    408a:	1481      	pop      	r4
			if (temp_filter_time > 1)
    408c:	9340      	ld.w      	r2, (r3, 0x0)
    408e:	3a21      	cmplti      	r2, 2
    4090:	0bfd      	bt      	0x408a	// 408a <FanCtrlClock+0xce>
			temp_filter_time--;
    4092:	2a00      	subi      	r2, 1
    4094:	07fa      	br      	0x4088	// 4088 <FanCtrlClock+0xcc>
    4096:	0000      	bkpt
    4098:	20000120 	.long	0x20000120
    409c:	0000ffff 	.long	0x0000ffff
    40a0:	0000fffd 	.long	0x0000fffd
    40a4:	20000140 	.long	0x20000140
    40a8:	20000064 	.long	0x20000064
    40ac:	200003e4 	.long	0x200003e4
    40b0:	2000044a 	.long	0x2000044a
    40b4:	20000448 	.long	0x20000448
    40b8:	20000218 	.long	0x20000218
    40bc:	2000022c 	.long	0x2000022c
    40c0:	2000021c 	.long	0x2000021c
    40c4:	2000021e 	.long	0x2000021e
    40c8:	0000012b 	.long	0x0000012b

Disassembly of section .text.FanCtrlStart:

000040cc <FanCtrlStart>:
//启动温控设备
void FanCtrlStart(void)
{
    if (RTD[0].status == Pt_Normal)
    40cc:	106d      	lrw      	r3, 0x20000498	// 4100 <FanCtrlStart+0x34>
    40ce:	9361      	ld.w      	r3, (r3, 0x4)
    40d0:	3b40      	cmpnei      	r3, 0
    40d2:	0816      	bt      	0x40fe	// 40fe <FanCtrlStart+0x32>
    { //烤炉温度正常,才能启动点火   
        if (HeatingFanStep == 0) HeatingFanStep = 1; //默认,正常温控
    40d4:	106c      	lrw      	r3, 0x20000446	// 4104 <FanCtrlStart+0x38>
    40d6:	8340      	ld.b      	r2, (r3, 0x0)
    40d8:	3a40      	cmpnei      	r2, 0
    40da:	0803      	bt      	0x40e0	// 40e0 <FanCtrlStart+0x14>
    40dc:	3201      	movi      	r2, 1
    40de:	a340      	st.b      	r2, (r3, 0x0)
        if (IgniterStep == 0) IgniterStep = 1;
    40e0:	106a      	lrw      	r3, 0x20000481	// 4108 <FanCtrlStart+0x3c>
    40e2:	8340      	ld.b      	r2, (r3, 0x0)
    40e4:	3a40      	cmpnei      	r2, 0
    40e6:	0803      	bt      	0x40ec	// 40ec <FanCtrlStart+0x20>
    40e8:	3201      	movi      	r2, 1
    40ea:	a340      	st.b      	r2, (r3, 0x0)
        if (ExhaustFanStep == 0)
    40ec:	1068      	lrw      	r3, 0x2000047c	// 410c <FanCtrlStart+0x40>
    40ee:	8340      	ld.b      	r2, (r3, 0x0)
    40f0:	3a40      	cmpnei      	r2, 0
    40f2:	0806      	bt      	0x40fe	// 40fe <FanCtrlStart+0x32>
        {
            ExhaustFanStep = 1;
    40f4:	3201      	movi      	r2, 1
    40f6:	a340      	st.b      	r2, (r3, 0x0)
            ExhaustFanClock = 0;
    40f8:	3200      	movi      	r2, 0
    40fa:	1066      	lrw      	r3, 0x20000120	// 4110 <FanCtrlStart+0x44>
    40fc:	ab50      	st.h      	r2, (r3, 0x20)
        }
    }
}
    40fe:	783c      	jmp      	r15
    4100:	20000498 	.long	0x20000498
    4104:	20000446 	.long	0x20000446
    4108:	20000481 	.long	0x20000481
    410c:	2000047c 	.long	0x2000047c
    4110:	20000120 	.long	0x20000120

Disassembly of section .text.FanCtrlStop:

00004114 <FanCtrlStop>:
//停止温控设备
void FanCtrlStop(void)
{
    4114:	14c1      	push      	r4
    if(RTD[0].status != Pt_Normal)
    4116:	107a      	lrw      	r3, 0x20000498	// 417c <FanCtrlStop+0x68>
    4118:	105a      	lrw      	r2, 0x2000047c	// 4180 <FanCtrlStop+0x6c>
    411a:	9321      	ld.w      	r1, (r3, 0x4)
    411c:	3940      	cmpnei      	r1, 0
    411e:	107a      	lrw      	r3, 0x20000120	// 4184 <FanCtrlStop+0x70>
    4120:	0c06      	bf      	0x412c	// 412c <FanCtrlStop+0x18>
    {
        ExhaustFanClock = 0;
    4122:	3100      	movi      	r1, 0
    4124:	ab30      	st.h      	r1, (r3, 0x20)
        ExhaustFanStep = 0;
    4126:	3300      	movi      	r3, 0
    4128:	a260      	st.b      	r3, (r2, 0x0)
    if (ExhaustFanStep > 0)
    { //排气扇打开后,才能停止排气扇
        ExhaustFanStep = 0;
        if(ExhaustFanClock == 0) ExhaustFanClock = FanClose_Delay_Time; //10min = 60s * 10 = 600s,多10s用于显示OFF
    }
}
    412a:	1481      	pop      	r4
	filter_fun = 0;
    412c:	1017      	lrw      	r0, 0x2000021c	// 4188 <FanCtrlStop+0x74>
    412e:	3400      	movi      	r4, 0
    4130:	a080      	st.b      	r4, (r0, 0x0)
	temp_set_updata = 0;
    4132:	3400      	movi      	r4, 0
    4134:	1016      	lrw      	r0, 0x2000021e	// 418c <FanCtrlStop+0x78>
    4136:	a880      	st.h      	r4, (r0, 0x0)
	if(grill_temperature>400)
    4138:	9387      	ld.w      	r4, (r3, 0x1c)
	temp_filter_time = 0;
    413a:	1016      	lrw      	r0, 0x2000022c	// 4190 <FanCtrlStop+0x7c>
    413c:	b020      	st.w      	r1, (r0, 0x0)
    HeatingFanStep = 0;
    413e:	3000      	movi      	r0, 0
    4140:	1035      	lrw      	r1, 0x20000446	// 4194 <FanCtrlStop+0x80>
    4142:	a100      	st.b      	r0, (r1, 0x0)
	if(grill_temperature>400)
    4144:	31c8      	movi      	r1, 200
    4146:	4121      	lsli      	r1, r1, 1
    4148:	3020      	movi      	r0, 32
    414a:	6505      	cmplt      	r1, r4
    414c:	600c      	addu      	r0, r3
    414e:	0c11      	bf      	0x4170	// 4170 <FanCtrlStop+0x5c>
		H_to_L = 1;
    4150:	3101      	movi      	r1, 1
		H_to_L = 2;
    4152:	a030      	st.b      	r1, (r0, 0x10)
    IgniterStep = 0;
    4154:	3000      	movi      	r0, 0
    4156:	1031      	lrw      	r1, 0x20000481	// 4198 <FanCtrlStop+0x84>
    4158:	a100      	st.b      	r0, (r1, 0x0)
    if (ExhaustFanStep > 0)
    415a:	8220      	ld.b      	r1, (r2, 0x0)
    415c:	3940      	cmpnei      	r1, 0
    415e:	0fe6      	bf      	0x412a	// 412a <FanCtrlStop+0x16>
        ExhaustFanStep = 0;
    4160:	3100      	movi      	r1, 0
    4162:	a220      	st.b      	r1, (r2, 0x0)
        if(ExhaustFanClock == 0) ExhaustFanClock = FanClose_Delay_Time; //10min = 60s * 10 = 600s,多10s用于显示OFF
    4164:	8b50      	ld.h      	r2, (r3, 0x20)
    4166:	3a40      	cmpnei      	r2, 0
    4168:	0be1      	bt      	0x412a	// 412a <FanCtrlStop+0x16>
    416a:	104d      	lrw      	r2, 0x25d	// 419c <FanCtrlStop+0x88>
    416c:	ab50      	st.h      	r2, (r3, 0x20)
    416e:	07de      	br      	0x412a	// 412a <FanCtrlStop+0x16>
	else if(grill_temperature>300)
    4170:	3196      	movi      	r1, 150
    4172:	4121      	lsli      	r1, r1, 1
		H_to_L = 2;
    4174:	6505      	cmplt      	r1, r4
    4176:	6443      	mvcv      	r1
    4178:	2101      	addi      	r1, 2
    417a:	07ec      	br      	0x4152	// 4152 <FanCtrlStop+0x3e>
    417c:	20000498 	.long	0x20000498
    4180:	2000047c 	.long	0x2000047c
    4184:	20000120 	.long	0x20000120
    4188:	2000021c 	.long	0x2000021c
    418c:	2000021e 	.long	0x2000021e
    4190:	2000022c 	.long	0x2000022c
    4194:	20000446 	.long	0x20000446
    4198:	20000481 	.long	0x20000481
    419c:	0000025d 	.long	0x0000025d

Disassembly of section .text.HeatingFanCtrl:

000041a0 <HeatingFanCtrl>:
void Heating_Ctrl_Exhaust_Close(void)
{
    ExhaustFanStep = 0;
}
void HeatingFanCtrl(void)
{
    41a0:	14d3      	push      	r4-r6, r15
    static uint16_t start_sequence_on_time = 0;
	int32_t pid_temperature = 0;
	uint16_t pid_temp_set = 0;
	static uint16_t feed1 = 0;
	static uint16_t feed2 = 0;
    switch (HeatingFanStep)
    41a2:	1365      	lrw      	r3, 0x20000446	// 4334 <HeatingFanCtrl+0x194>
    41a4:	8300      	ld.b      	r0, (r3, 0x0)
    41a6:	3804      	cmphsi      	r0, 5
    41a8:	6d4f      	mov      	r5, r3
    41aa:	08c2      	bt      	0x432e	// 432e <HeatingFanCtrl+0x18e>
    41ac:	e3ffe002 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    41b0:	5e483d03 	.long	0x5e483d03
    41b4:	0087      	.short	0x0087
    {
    case 0: // Close HeatingFan  
	if(H_to_L==1)
    41b6:	1381      	lrw      	r4, 0x20000120	// 4338 <HeatingFanCtrl+0x198>
    41b8:	3320      	movi      	r3, 32
    41ba:	60d0      	addu      	r3, r4
    41bc:	8370      	ld.b      	r3, (r3, 0x10)
    41be:	3b41      	cmpnei      	r3, 1
    41c0:	0810      	bt      	0x41e0	// 41e0 <HeatingFanCtrl+0x40>
	{
		feed1 = 20;
    41c2:	3314      	movi      	r3, 20
    41c4:	ac79      	st.h      	r3, (r4, 0x32)
		feed2 = 10;
    41c6:	330a      	movi      	r3, 10
		feed2 = 5;
	}
	else
	{
		feed1 = 0;
		feed2 = 0;
    41c8:	ac7a      	st.h      	r3, (r4, 0x34)
	}
	
	if(ExhaustFanClock>600)
    41ca:	3396      	movi      	r3, 150
    41cc:	8c50      	ld.h      	r2, (r4, 0x20)
    41ce:	4362      	lsli      	r3, r3, 2
    41d0:	648c      	cmphs      	r3, r2
    41d2:	123b      	lrw      	r1, 0x20000048	// 433c <HeatingFanCtrl+0x19c>
    41d4:	0813      	bt      	0x41fa	// 41fa <HeatingFanCtrl+0x5a>
	{
		HeaterFanClose;
    41d6:	9100      	ld.w      	r0, (r1, 0x0)
	break;
    case 1:
		start_sequence_on_time = 40; //固定进料60s, 颗粒已经能够覆盖到点火针
        Tick_1S_Count = 0;
        HeatingFanStep = 2;
        HeaterFanClose;
    41d8:	3103      	movi      	r1, 3
    41da:	e3ffec1b 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>

        break;
    41de:	0425      	br      	0x4228	// 4228 <HeatingFanCtrl+0x88>
	else if(H_to_L==2)
    41e0:	3b42      	cmpnei      	r3, 2
    41e2:	0805      	bt      	0x41ec	// 41ec <HeatingFanCtrl+0x4c>
		feed1 = 15;
    41e4:	330f      	movi      	r3, 15
    41e6:	ac79      	st.h      	r3, (r4, 0x32)
		feed2 = 5;
    41e8:	3305      	movi      	r3, 5
    41ea:	07ef      	br      	0x41c8	// 41c8 <HeatingFanCtrl+0x28>
	else if(H_to_L==3)
    41ec:	3b43      	cmpnei      	r3, 3
    41ee:	0804      	bt      	0x41f6	// 41f6 <HeatingFanCtrl+0x56>
		feed1 = 5;
    41f0:	3305      	movi      	r3, 5
		feed1 = 0;
    41f2:	ac79      	st.h      	r3, (r4, 0x32)
    41f4:	07ea      	br      	0x41c8	// 41c8 <HeatingFanCtrl+0x28>
    41f6:	3300      	movi      	r3, 0
    41f8:	07fd      	br      	0x41f2	// 41f2 <HeatingFanCtrl+0x52>
	else if(ExhaustFanClock>600-feed1)
    41fa:	8c19      	ld.h      	r0, (r4, 0x32)
    41fc:	60c2      	subu      	r3, r0
    41fe:	648d      	cmplt      	r3, r2
    4200:	0c06      	bf      	0x420c	// 420c <HeatingFanCtrl+0x6c>
		HeaterFanOpen;
    4202:	9100      	ld.w      	r0, (r1, 0x0)
        {
            HeaterFanClose;
        }
        else if ((feed_stop_time_int <= millis_10ms) && (millis_10ms < 60*100))                                                                                                                                                                                    
        {
            HeaterFanOpen;
    4204:	3103      	movi      	r1, 3
    4206:	e3ffec09 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    420a:	040f      	br      	0x4228	// 4228 <HeatingFanCtrl+0x88>
	else if(ExhaustFanClock>300)
    420c:	3396      	movi      	r3, 150
    420e:	4361      	lsli      	r3, r3, 1
    4210:	648c      	cmphs      	r3, r2
    4212:	0fe2      	bf      	0x41d6	// 41d6 <HeatingFanCtrl+0x36>
	else if(ExhaustFanClock>300-feed2)
    4214:	8c1a      	ld.h      	r0, (r4, 0x34)
    4216:	60c2      	subu      	r3, r0
    4218:	648d      	cmplt      	r3, r2
    421a:	0bf4      	bt      	0x4202	// 4202 <HeatingFanCtrl+0x62>
		HeaterFanClose;
    421c:	9100      	ld.w      	r0, (r1, 0x0)
    421e:	3103      	movi      	r1, 3
    4220:	e3ffebf8 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
        start_sequence_on_time = 0;
    4224:	3300      	movi      	r3, 0
    4226:	ac7b      	st.h      	r3, (r4, 0x36)
        break;
    default:
        HeatingFanStep = 0;
        break;
    }
}
    4228:	1493      	pop      	r4-r6, r15
		start_sequence_on_time = 40; //固定进料60s, 颗粒已经能够覆盖到点火针
    422a:	1264      	lrw      	r3, 0x20000120	// 4338 <HeatingFanCtrl+0x198>
    422c:	3228      	movi      	r2, 40
    422e:	ab5b      	st.h      	r2, (r3, 0x36)
        Tick_1S_Count = 0;
    4230:	3200      	movi      	r2, 0
    4232:	1264      	lrw      	r3, 0x20000064	// 4340 <HeatingFanCtrl+0x1a0>
    4234:	ab40      	st.h      	r2, (r3, 0x0)
        HeatingFanStep = 2;
    4236:	3302      	movi      	r3, 2
    4238:	a560      	st.b      	r3, (r5, 0x0)
        HeaterFanClose;
    423a:	1261      	lrw      	r3, 0x20000048	// 433c <HeatingFanCtrl+0x19c>
    423c:	9300      	ld.w      	r0, (r3, 0x0)
    423e:	07cd      	br      	0x41d8	// 41d8 <HeatingFanCtrl+0x38>
        if (Tick_1S_Count == 0)
    4240:	1260      	lrw      	r3, 0x20000064	// 4340 <HeatingFanCtrl+0x1a0>
    4242:	8b40      	ld.h      	r2, (r3, 0x0)
    4244:	3a40      	cmpnei      	r2, 0
    4246:	0805      	bt      	0x4250	// 4250 <HeatingFanCtrl+0xb0>
            Tick_1S_Count = 1;
    4248:	3201      	movi      	r2, 1
    424a:	ab40      	st.h      	r2, (r3, 0x0)
            HeaterFanOpen;
    424c:	117c      	lrw      	r3, 0x20000048	// 433c <HeatingFanCtrl+0x19c>
    424e:	0421      	br      	0x4290	// 4290 <HeatingFanCtrl+0xf0>
        else if (Tick_1S_Count > start_sequence_on_time)
    4250:	113a      	lrw      	r1, 0x20000120	// 4338 <HeatingFanCtrl+0x198>
    4252:	893b      	ld.h      	r1, (r1, 0x36)
    4254:	6484      	cmphs      	r1, r2
    4256:	0be9      	bt      	0x4228	// 4228 <HeatingFanCtrl+0x88>
            Tick_1S_Count = 0;
    4258:	3200      	movi      	r2, 0
    425a:	ab40      	st.h      	r2, (r3, 0x0)
            HeaterFanClose;
    425c:	3103      	movi      	r1, 3
    425e:	1178      	lrw      	r3, 0x20000048	// 433c <HeatingFanCtrl+0x19c>
    4260:	9300      	ld.w      	r0, (r3, 0x0)
    4262:	e3ffebd7 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            HeatingFanStep = 3;  
    4266:	3303      	movi      	r3, 3
    4268:	a560      	st.b      	r3, (r5, 0x0)
    426a:	07df      	br      	0x4228	// 4228 <HeatingFanCtrl+0x88>
        if (grill_temperature < 135)
    426c:	11d3      	lrw      	r6, 0x20000120	// 4338 <HeatingFanCtrl+0x198>
    426e:	3386      	movi      	r3, 134
    4270:	9647      	ld.w      	r2, (r6, 0x1c)
    4272:	648d      	cmplt      	r3, r2
    4274:	1193      	lrw      	r4, 0x20000064	// 4340 <HeatingFanCtrl+0x1a0>
    4276:	0812      	bt      	0x429a	// 429a <HeatingFanCtrl+0xfa>
            if (Tick_1S_Count == 0) Tick_1S_Count = 1;
    4278:	8c40      	ld.h      	r2, (r4, 0x0)
    427a:	3a40      	cmpnei      	r2, 0
    427c:	0804      	bt      	0x4284	// 4284 <HeatingFanCtrl+0xe4>
    427e:	3301      	movi      	r3, 1
    4280:	ac60      	st.h      	r3, (r4, 0x0)
    4282:	07d3      	br      	0x4228	// 4228 <HeatingFanCtrl+0x88>
            else if (Tick_1S_Count <= 30)
    4284:	3a1e      	cmphsi      	r2, 31
    4286:	116e      	lrw      	r3, 0x20000048	// 433c <HeatingFanCtrl+0x19c>
    4288:	0fda      	bf      	0x423c	// 423c <HeatingFanCtrl+0x9c>
            else if (Tick_1S_Count <= (30 + 5))
    428a:	3123      	movi      	r1, 35
    428c:	6484      	cmphs      	r1, r2
    428e:	0c03      	bf      	0x4294	// 4294 <HeatingFanCtrl+0xf4>
            HeaterFanOpen;
    4290:	9300      	ld.w      	r0, (r3, 0x0)
    4292:	07b9      	br      	0x4204	// 4204 <HeatingFanCtrl+0x64>
                Tick_1S_Count = 0;
    4294:	3200      	movi      	r2, 0
    4296:	ac40      	st.h      	r2, (r4, 0x0)
    4298:	07d2      	br      	0x423c	// 423c <HeatingFanCtrl+0x9c>
            HeaterFanClose;
    429a:	1169      	lrw      	r3, 0x20000048	// 433c <HeatingFanCtrl+0x19c>
    429c:	3103      	movi      	r1, 3
    429e:	9300      	ld.w      	r0, (r3, 0x0)
    42a0:	e3ffebb8 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            HeatingFanStep = 4;
    42a4:	3304      	movi      	r3, 4
    42a6:	a560      	st.b      	r3, (r5, 0x0)
            Tick_1S_Count = 0;
    42a8:	3300      	movi      	r3, 0
    42aa:	ac60      	st.h      	r3, (r4, 0x0)
            PID_T_1s = 1;
    42ac:	3301      	movi      	r3, 1
			pid_PI.u8En = 1;
    42ae:	3201      	movi      	r2, 1
            PID_T_1s = 1;
    42b0:	ae77      	st.h      	r3, (r6, 0x2e)
			pid_PI.u8En = 1;
    42b2:	1165      	lrw      	r3, 0x2000044c	// 4344 <HeatingFanCtrl+0x1a4>
    42b4:	a340      	st.b      	r2, (r3, 0x0)
			temp_set_updata = 1;
    42b6:	3201      	movi      	r2, 1
    42b8:	1164      	lrw      	r3, 0x2000021e	// 4348 <HeatingFanCtrl+0x1a8>
    42ba:	ab40      	st.h      	r2, (r3, 0x0)
    42bc:	07b6      	br      	0x4228	// 4228 <HeatingFanCtrl+0x88>
        if (PID_T_1s >= 15)
    42be:	109f      	lrw      	r4, 0x20000120	// 4338 <HeatingFanCtrl+0x198>
    42c0:	8c77      	ld.h      	r3, (r4, 0x2e)
    42c2:	3b0e      	cmphsi      	r3, 15
    42c4:	11c0      	lrw      	r6, 0x2000044c	// 4344 <HeatingFanCtrl+0x1a4>
    42c6:	0c14      	bf      	0x42ee	// 42ee <HeatingFanCtrl+0x14e>
            PID_T_1s = 1;
    42c8:	3301      	movi      	r3, 1
            PI_Ctrl(&pid_PI, &pid_para_t,grill_temperature,temp_set);
    42ca:	103e      	lrw      	r1, 0x20000064	// 4340 <HeatingFanCtrl+0x1a0>
    42cc:	6c1b      	mov      	r0, r6
    42ce:	9447      	ld.w      	r2, (r4, 0x1c)
            PID_T_1s = 1;
    42d0:	ac77      	st.h      	r3, (r4, 0x2e)
            PI_Ctrl(&pid_PI, &pid_para_t,grill_temperature,temp_set);
    42d2:	8962      	ld.h      	r3, (r1, 0x4)
    42d4:	2107      	addi      	r1, 8
    42d6:	e000010f 	bsr      	0x44f4	// 44f4 <PI_Ctrl>
			pid_data = (float)(pid_PI.i32Q27_Output);
    42da:	9603      	ld.w      	r0, (r6, 0xc)
    42dc:	9624      	ld.w      	r1, (r6, 0x10)
    42de:	e3ffe683 	bsr      	0xfe4	// fe4 <__truncdfsf2>
    42e2:	b40e      	st.w      	r0, (r4, 0x38)
            feed_stop_time = 60 - (int)pid_data;
    42e4:	e3ffe1b6 	bsr      	0x650	// 650 <__fixsfsi>
    42e8:	333c      	movi      	r3, 60
    42ea:	60c2      	subu      	r3, r0
    42ec:	b46f      	st.w      	r3, (r4, 0x3c)
		if (Open_Lid_Check())
    42ee:	e3fffe09 	bsr      	0x3f00	// 3f00 <Open_Lid_Check>
			pid_PI.u8En = 1;
    42f2:	3840      	cmpnei      	r0, 0
    42f4:	3300      	movi      	r3, 0
    42f6:	60cd      	addc      	r3, r3
    42f8:	a660      	st.b      	r3, (r6, 0x0)
        if (grill_temperature <= 135)
    42fa:	9447      	ld.w      	r2, (r4, 0x1c)
    42fc:	3387      	movi      	r3, 135
    42fe:	648d      	cmplt      	r3, r2
    4300:	0810      	bt      	0x4320	// 4320 <HeatingFanCtrl+0x180>
            HeatingFanStep = 3;
    4302:	3303      	movi      	r3, 3
    4304:	a560      	st.b      	r3, (r5, 0x0)
		feed_stop_time_int = feed_stop_time*100;
    4306:	944f      	ld.w      	r2, (r4, 0x3c)
    4308:	3364      	movi      	r3, 100
    430a:	7cc8      	mult      	r3, r2
        if (millis_10ms < feed_stop_time_int)
    430c:	944a      	ld.w      	r2, (r4, 0x28)
    430e:	64c8      	cmphs      	r2, r3
		feed_stop_time_int = feed_stop_time*100;
    4310:	b471      	st.w      	r3, (r4, 0x44)
        if (millis_10ms < feed_stop_time_int)
    4312:	0f94      	bf      	0x423a	// 423a <HeatingFanCtrl+0x9a>
        else if ((feed_stop_time_int <= millis_10ms) && (millis_10ms < 60*100))                                                                                                                                                                                    
    4314:	106e      	lrw      	r3, 0x176f	// 434c <HeatingFanCtrl+0x1ac>
    4316:	648c      	cmphs      	r3, r2
    4318:	0b9a      	bt      	0x424c	// 424c <HeatingFanCtrl+0xac>
            millis_10ms = 0;
    431a:	3300      	movi      	r3, 0
    431c:	b46a      	st.w      	r3, (r4, 0x28)
    431e:	0785      	br      	0x4228	// 4228 <HeatingFanCtrl+0x88>
			feed_on_time =(int)pid_data*100;
    4320:	940e      	ld.w      	r0, (r4, 0x38)
    4322:	e3ffe197 	bsr      	0x650	// 650 <__fixsfsi>
    4326:	3364      	movi      	r3, 100
    4328:	7c0c      	mult      	r0, r3
    432a:	b410      	st.w      	r0, (r4, 0x40)
    432c:	07ed      	br      	0x4306	// 4306 <HeatingFanCtrl+0x166>
        HeatingFanStep = 0;
    432e:	3200      	movi      	r2, 0
    4330:	a340      	st.b      	r2, (r3, 0x0)
}
    4332:	077b      	br      	0x4228	// 4228 <HeatingFanCtrl+0x88>
    4334:	20000446 	.long	0x20000446
    4338:	20000120 	.long	0x20000120
    433c:	20000048 	.long	0x20000048
    4340:	20000064 	.long	0x20000064
    4344:	2000044c 	.long	0x2000044c
    4348:	2000021e 	.long	0x2000021e
    434c:	0000176f 	.long	0x0000176f

Disassembly of section .text.IgniterCtrl:

00004350 <IgniterCtrl>:
//在[150F,160F]之间,点火一直打开
//温度高于160F,停止点火(这就有问题了,温度高的情况下,停止点火,温度肯定会突然下降,难怪温度在高温很难控制)
//  补充: 在进料的时候会控制点火
//通过 SYS_STANDBY 置1, 控制停止点火
void IgniterCtrl(void)
{
    4350:	14d2      	push      	r4-r5, r15
    static uint8_t IgniterClock_Step = 0;

    if (RTD[0].status != Pt_Normal)
    4352:	117b      	lrw      	r3, 0x20000498	// 443c <IgniterCtrl+0xec>
    4354:	119b      	lrw      	r4, 0x20000481	// 4440 <IgniterCtrl+0xf0>
    4356:	9341      	ld.w      	r2, (r3, 0x4)
    4358:	3a40      	cmpnei      	r2, 0
    435a:	0c03      	bf      	0x4360	// 4360 <IgniterCtrl+0x10>
    {
        IgniterStep = 0;
    435c:	3200      	movi      	r2, 0
    435e:	a440      	st.b      	r2, (r4, 0x0)
    }
    switch (IgniterStep)
    4360:	8400      	ld.b      	r0, (r4, 0x0)
    4362:	3803      	cmphsi      	r0, 4
    4364:	086a      	bt      	0x4438	// 4438 <IgniterCtrl+0xe8>
    4366:	e3ffdf25 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    436a:	0802      	.short	0x0802
    436c:	2a13      	.short	0x2a13
    {
        case 0:
            IgniterClose;
    436e:	1176      	lrw      	r3, 0x20000048	// 4444 <IgniterCtrl+0xf4>
    4370:	3102      	movi      	r1, 2
    4372:	9300      	ld.w      	r0, (r3, 0x0)
    4374:	e3ffeb4e 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
            break;
        default:
            IgniterStep = 0;
            break;
    }
}
    4378:	1492      	pop      	r4-r5, r15
            IgniterOpen;
    437a:	1173      	lrw      	r3, 0x20000048	// 4444 <IgniterCtrl+0xf4>
    437c:	3102      	movi      	r1, 2
    437e:	9300      	ld.w      	r0, (r3, 0x0)
    4380:	e3ffeb4c 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
            IgniterClock = 0;
    4384:	1171      	lrw      	r3, 0x2000044a	// 4448 <IgniterCtrl+0xf8>
    4386:	3200      	movi      	r2, 0
    4388:	ab40      	st.h      	r2, (r3, 0x0)
            IgniterStep = 2;
    438a:	3302      	movi      	r3, 2
            IgniterStep = 0;
    438c:	a460      	st.b      	r3, (r4, 0x0)
}
    438e:	07f5      	br      	0x4378	// 4378 <IgniterCtrl+0x28>
            if (IgniterClock == 0) IgniterClock = 1;
    4390:	11ae      	lrw      	r5, 0x2000044a	// 4448 <IgniterCtrl+0xf8>
    4392:	8d60      	ld.h      	r3, (r5, 0x0)
    4394:	3b40      	cmpnei      	r3, 0
    4396:	0804      	bt      	0x439e	// 439e <IgniterCtrl+0x4e>
                        IgniterClock = 1;
    4398:	3301      	movi      	r3, 1
    439a:	ad60      	st.h      	r3, (r5, 0x0)
    439c:	07ee      	br      	0x4378	// 4378 <IgniterCtrl+0x28>
            else if (IgniterClock > 240)
    439e:	32f0      	movi      	r2, 240
    43a0:	64c8      	cmphs      	r2, r3
    43a2:	0beb      	bt      	0x4378	// 4378 <IgniterCtrl+0x28>
                IgniterClose;
    43a4:	1168      	lrw      	r3, 0x20000048	// 4444 <IgniterCtrl+0xf4>
    43a6:	3102      	movi      	r1, 2
    43a8:	9300      	ld.w      	r0, (r3, 0x0)
    43aa:	e3ffeb33 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
                IgniterStep = 3; //Ignite time complete
    43ae:	3303      	movi      	r3, 3
    43b0:	a460      	st.b      	r3, (r4, 0x0)
                IgniterClock = 0;
    43b2:	3300      	movi      	r3, 0
    43b4:	ad60      	st.h      	r3, (r5, 0x0)
                IgniterClock_Step = 0;
    43b6:	3200      	movi      	r2, 0
    43b8:	1165      	lrw      	r3, 0x20000160	// 444c <IgniterCtrl+0xfc>
    43ba:	a348      	st.b      	r2, (r3, 0x8)
    43bc:	07de      	br      	0x4378	// 4378 <IgniterCtrl+0x28>
            if (grill_temperature < 150)
    43be:	1185      	lrw      	r4, 0x20000120	// 4450 <IgniterCtrl+0x100>
    43c0:	3295      	movi      	r2, 149
    43c2:	9427      	ld.w      	r1, (r4, 0x1c)
    43c4:	6449      	cmplt      	r2, r1
    43c6:	0829      	bt      	0x4418	// 4418 <IgniterCtrl+0xc8>
                if(IgniterClock_Step == 0)
    43c8:	243f      	addi      	r4, 64
    43ca:	8468      	ld.b      	r3, (r4, 0x8)
    43cc:	3b40      	cmpnei      	r3, 0
    43ce:	0813      	bt      	0x43f4	// 43f4 <IgniterCtrl+0xa4>
                    if (IgniterClock == 0)
    43d0:	10be      	lrw      	r5, 0x2000044a	// 4448 <IgniterCtrl+0xf8>
    43d2:	8d60      	ld.h      	r3, (r5, 0x0)
    43d4:	3b40      	cmpnei      	r3, 0
    43d6:	0807      	bt      	0x43e4	// 43e4 <IgniterCtrl+0x94>
                        IgniterClose;
    43d8:	107b      	lrw      	r3, 0x20000048	// 4444 <IgniterCtrl+0xf4>
    43da:	3102      	movi      	r1, 2
    43dc:	9300      	ld.w      	r0, (r3, 0x0)
    43de:	e3ffeb19 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
    43e2:	07db      	br      	0x4398	// 4398 <IgniterCtrl+0x48>
                    else if (IgniterClock >= 120)
    43e4:	3277      	movi      	r2, 119
    43e6:	64c8      	cmphs      	r2, r3
    43e8:	0bc8      	bt      	0x4378	// 4378 <IgniterCtrl+0x28>
                        IgniterClock = 0;
    43ea:	3300      	movi      	r3, 0
    43ec:	ad60      	st.h      	r3, (r5, 0x0)
                        IgniterClock_Step++;
    43ee:	3301      	movi      	r3, 1
                        IgniterClock_Step = 0;
    43f0:	a468      	st.b      	r3, (r4, 0x8)
    43f2:	07c3      	br      	0x4378	// 4378 <IgniterCtrl+0x28>
                else if(IgniterClock_Step == 1)
    43f4:	3b41      	cmpnei      	r3, 1
    43f6:	0bc1      	bt      	0x4378	// 4378 <IgniterCtrl+0x28>
                    if (IgniterClock == 0)
    43f8:	10b4      	lrw      	r5, 0x2000044a	// 4448 <IgniterCtrl+0xf8>
    43fa:	8d60      	ld.h      	r3, (r5, 0x0)
    43fc:	3b40      	cmpnei      	r3, 0
    43fe:	0807      	bt      	0x440c	// 440c <IgniterCtrl+0xbc>
                        IgniterOpen;
    4400:	1071      	lrw      	r3, 0x20000048	// 4444 <IgniterCtrl+0xf4>
    4402:	3102      	movi      	r1, 2
    4404:	9300      	ld.w      	r0, (r3, 0x0)
    4406:	e3ffeb09 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
    440a:	07c7      	br      	0x4398	// 4398 <IgniterCtrl+0x48>
                    else if (IgniterClock >= 240)
    440c:	32ef      	movi      	r2, 239
    440e:	64c8      	cmphs      	r2, r3
    4410:	0bb4      	bt      	0x4378	// 4378 <IgniterCtrl+0x28>
                        IgniterClock = 0;
    4412:	3300      	movi      	r3, 0
    4414:	ad60      	st.h      	r3, (r5, 0x0)
    4416:	07ed      	br      	0x43f0	// 43f0 <IgniterCtrl+0xa0>
            else if (RTD[0].value > 160)
    4418:	9340      	ld.w      	r2, (r3, 0x0)
    441a:	33a0      	movi      	r3, 160
    441c:	648d      	cmplt      	r3, r2
    441e:	0fad      	bf      	0x4378	// 4378 <IgniterCtrl+0x28>
                IgniterClose;
    4420:	1069      	lrw      	r3, 0x20000048	// 4444 <IgniterCtrl+0xf4>
    4422:	3102      	movi      	r1, 2
    4424:	9300      	ld.w      	r0, (r3, 0x0)
    4426:	e3ffeaf5 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
                IgniterClock_Step = 0;
    442a:	243f      	addi      	r4, 64
    442c:	3300      	movi      	r3, 0
    442e:	a468      	st.b      	r3, (r4, 0x8)
                IgniterClock = 0;
    4430:	3200      	movi      	r2, 0
    4432:	1066      	lrw      	r3, 0x2000044a	// 4448 <IgniterCtrl+0xf8>
    4434:	ab40      	st.h      	r2, (r3, 0x0)
    4436:	07a1      	br      	0x4378	// 4378 <IgniterCtrl+0x28>
            IgniterStep = 0;
    4438:	3300      	movi      	r3, 0
    443a:	07a9      	br      	0x438c	// 438c <IgniterCtrl+0x3c>
    443c:	20000498 	.long	0x20000498
    4440:	20000481 	.long	0x20000481
    4444:	20000048 	.long	0x20000048
    4448:	2000044a 	.long	0x2000044a
    444c:	20000160 	.long	0x20000160
    4450:	20000120 	.long	0x20000120

Disassembly of section .text.ExhaustFanCtrl:

00004454 <ExhaustFanCtrl>:
//系统错误,停止排气
//判断SYS_STANDBY的值,决定是否打开排气
//上电默认SYS_STANDBY为0, 排气打开
//当SYS_STANDBY == 1时, 打开排气扇持续300s后关闭排气扇
void ExhaustFanCtrl(void)
{
    4454:	14d1      	push      	r4, r15
    if (RTD[0].status != Pt_Normal)
    4456:	107f      	lrw      	r3, 0x20000498	// 44d0 <ExhaustFanCtrl+0x7c>
    4458:	9341      	ld.w      	r2, (r3, 0x4)
    445a:	3a40      	cmpnei      	r2, 0
    445c:	107e      	lrw      	r3, 0x2000047c	// 44d4 <ExhaustFanCtrl+0x80>
    445e:	0c18      	bf      	0x448e	// 448e <ExhaustFanCtrl+0x3a>
    {
        if (ExhaustFanStep > 0)
    4460:	8320      	ld.b      	r1, (r3, 0x0)
    4462:	3940      	cmpnei      	r1, 0
    4464:	0c08      	bf      	0x4474	// 4474 <ExhaustFanCtrl+0x20>
        { //排气扇打开后,才能停止排气扇
            ExhaustFanStep = 0;
    4466:	3100      	movi      	r1, 0
            ExhaustFanClock = FanClose_Delay_Time; //10min = 60s * 10 = 600s,多10s用于显示OFF
            if(RTD[0].status != Pt_HighTemp) ExhaustFanClock = 0;
    4468:	3a44      	cmpnei      	r2, 4
            ExhaustFanStep = 0;
    446a:	a320      	st.b      	r1, (r3, 0x0)
    446c:	105b      	lrw      	r2, 0x20000120	// 44d8 <ExhaustFanCtrl+0x84>
            if(RTD[0].status != Pt_HighTemp) ExhaustFanClock = 0;
    446e:	080e      	bt      	0x448a	// 448a <ExhaustFanCtrl+0x36>
            ExhaustFanClock = FanClose_Delay_Time; //10min = 60s * 10 = 600s,多10s用于显示OFF
    4470:	1160      	lrw      	r3, 0x25d	// 44f0 <ExhaustFanCtrl+0x9c>
    4472:	aa70      	st.h      	r3, (r2, 0x20)
        }
    }
    switch (ExhaustFanStep)
    {
        case 0:
            if (ExhaustFanClock > 0)
    4474:	1099      	lrw      	r4, 0x20000120	// 44d8 <ExhaustFanCtrl+0x84>
    4476:	8c70      	ld.h      	r3, (r4, 0x20)
    4478:	3b40      	cmpnei      	r3, 0
    447a:	1079      	lrw      	r3, 0x2000004c	// 44dc <ExhaustFanCtrl+0x88>
            { //延迟10min
                ExhaustFanOpen;
    447c:	3108      	movi      	r1, 8
    447e:	9300      	ld.w      	r0, (r3, 0x0)
            if (ExhaustFanClock > 0)
    4480:	0c0e      	bf      	0x449c	// 449c <ExhaustFanCtrl+0x48>
                ExhaustFanOpen;
    4482:	e3ffeacb 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
                LowTemp_Ctrl = 0; //延迟低盐检测10min
    4486:	1077      	lrw      	r3, 0x20000190	// 44e0 <ExhaustFanCtrl+0x8c>
    4488:	0408      	br      	0x4498	// 4498 <ExhaustFanCtrl+0x44>
            if(RTD[0].status != Pt_HighTemp) ExhaustFanClock = 0;
    448a:	3100      	movi      	r1, 0
    448c:	aa30      	st.h      	r1, (r2, 0x20)
    switch (ExhaustFanStep)
    448e:	8340      	ld.b      	r2, (r3, 0x0)
    4490:	3a40      	cmpnei      	r2, 0
    4492:	0ff1      	bf      	0x4474	// 4474 <ExhaustFanCtrl+0x20>
    4494:	3a41      	cmpnei      	r2, 1
    4496:	0c16      	bf      	0x44c2	// 44c2 <ExhaustFanCtrl+0x6e>
        case 1:
            ExhaustFanOpen;
            first_open = false;
            break;
        default:
            ExhaustFanStep = 0;
    4498:	3200      	movi      	r2, 0
    449a:	0410      	br      	0x44ba	// 44ba <ExhaustFanCtrl+0x66>
                ExhaustFanClose;
    449c:	e3ffeaba 	bsr      	0x1a10	// 1a10 <GPIO_Write_High>
                if (first_open == false)
    44a0:	1071      	lrw      	r3, 0x200000a4	// 44e4 <ExhaustFanCtrl+0x90>
    44a2:	8340      	ld.b      	r2, (r3, 0x0)
    44a4:	3a40      	cmpnei      	r2, 0
    44a6:	080b      	bt      	0x44bc	// 44bc <ExhaustFanCtrl+0x68>
                    if (Temp_Param.oven < 500)
    44a8:	1050      	lrw      	r2, 0x200004b8	// 44e8 <ExhaustFanCtrl+0x94>
    44aa:	8a40      	ld.h      	r2, (r2, 0x0)
    44ac:	748b      	sexth      	r2, r2
    44ae:	1030      	lrw      	r1, 0x1f3	// 44ec <ExhaustFanCtrl+0x98>
    44b0:	6485      	cmplt      	r1, r2
    44b2:	0806      	bt      	0x44be	// 44be <ExhaustFanCtrl+0x6a>
                        ExhaustHeatingClock = 30;
    44b4:	321e      	movi      	r2, 30
                        ExhaustHeatingClock = 60;
    44b6:	ac56      	st.h      	r2, (r4, 0x2c)
                        first_open = true;
    44b8:	3201      	movi      	r2, 1
            ExhaustFanStep = 0;
    44ba:	a340      	st.b      	r2, (r3, 0x0)
            break;
    }
}
    44bc:	1491      	pop      	r4, r15
                        ExhaustHeatingClock = 60;
    44be:	323c      	movi      	r2, 60
    44c0:	07fb      	br      	0x44b6	// 44b6 <ExhaustFanCtrl+0x62>
            ExhaustFanOpen;
    44c2:	1067      	lrw      	r3, 0x2000004c	// 44dc <ExhaustFanCtrl+0x88>
    44c4:	3108      	movi      	r1, 8
    44c6:	9300      	ld.w      	r0, (r3, 0x0)
    44c8:	e3ffeaa8 	bsr      	0x1a18	// 1a18 <GPIO_Write_Low>
            first_open = false;
    44cc:	1066      	lrw      	r3, 0x200000a4	// 44e4 <ExhaustFanCtrl+0x90>
    44ce:	07e5      	br      	0x4498	// 4498 <ExhaustFanCtrl+0x44>
    44d0:	20000498 	.long	0x20000498
    44d4:	2000047c 	.long	0x2000047c
    44d8:	20000120 	.long	0x20000120
    44dc:	2000004c 	.long	0x2000004c
    44e0:	20000190 	.long	0x20000190
    44e4:	200000a4 	.long	0x200000a4
    44e8:	200004b8 	.long	0x200004b8
    44ec:	000001f3 	.long	0x000001f3
    44f0:	0000025d 	.long	0x0000025d

Disassembly of section .text.PI_Ctrl:

000044f4 <PI_Ctrl>:

/** structure for PID parameters ********************************/


void PI_Ctrl(stc_pi_t *pstc, stc_pid_para_t *stcPIParam,int grill_temperature,int temp_set)
{
    44f4:	14d4      	push      	r4-r7, r15
    44f6:	1428      	subi      	r14, r14, 32
    44f8:	6d87      	mov      	r6, r1
	pstc->i32Q15_Fbk = grill_temperature;
	pstc->i32Q15_Ref = temp_set;
	
	if(pstc->u8En==0)
    44fa:	8020      	ld.b      	r1, (r0, 0x0)
    44fc:	3940      	cmpnei      	r1, 0
    44fe:	3120      	movi      	r1, 32
    4500:	6040      	addu      	r1, r0
{
    4502:	6d03      	mov      	r4, r0
	pstc->i32Q15_Fbk = grill_temperature;
    4504:	b042      	st.w      	r2, (r0, 0x8)
	pstc->i32Q15_Ref = temp_set;
    4506:	b061      	st.w      	r3, (r0, 0x4)
    4508:	b820      	st.w      	r1, (r14, 0x0)
	if(pstc->u8En==0)
    450a:	0805      	bt      	0x4514	// 4514 <PI_Ctrl+0x20>
	{
		//pstc->i32Q27_Iout=0;
		//pstc->i32Q27_Output=0;
		pstc->u8IntegralLmtFlg=0;
    450c:	3200      	movi      	r2, 0
    450e:	a144      	st.b      	r2, (r1, 0x4)
		}
		if(pstc->i32Q27_Iout > stcPIParam->i32Q27_OutMax) pstc ->i32Q27_Iout = stcPIParam->i32Q27_OutMax;
		if(pstc->i32Q27_Iout < stcPIParam->i32Q27_OutMin) pstc->i32Q27_Iout = stcPIParam->i32Q27_OutMin;
		pstc->i32Q15_LastErr = pstc->i32Q15_Err; // Update last error for next iteration
	}
}
    4510:	1408      	addi      	r14, r14, 32
    4512:	1494      	pop      	r4-r7, r15
		pstc->i32Q15_Err = pstc->i32Q15_Ref - pstc->i32Q15_Fbk;
    4514:	5be9      	subu      	r7, r3, r2
    4516:	b0e5      	st.w      	r7, (r0, 0x14)
		if(pstc->u8IntegralLmtFlg==0)
    4518:	9860      	ld.w      	r3, (r14, 0x0)
    451a:	8364      	ld.b      	r3, (r3, 0x4)
    451c:	3b40      	cmpnei      	r3, 0
    451e:	080e      	bt      	0x453a	// 453a <PI_Ctrl+0x46>
			 pstc->i32Q27_Iout += (stcPIParam->i32Q12_Ki * pstc->i32Q15_Err);
    4520:	6c1f      	mov      	r0, r7
    4522:	e3ffe4dd 	bsr      	0xedc	// edc <__floatsidf>
    4526:	9646      	ld.w      	r2, (r6, 0x18)
    4528:	9667      	ld.w      	r3, (r6, 0x1c)
    452a:	e3ffe29d 	bsr      	0xa64	// a64 <__muldf3>
    452e:	9446      	ld.w      	r2, (r4, 0x18)
    4530:	9467      	ld.w      	r3, (r4, 0x1c)
    4532:	e3ffe25f 	bsr      	0x9f0	// 9f0 <__adddf3>
    4536:	b406      	st.w      	r0, (r4, 0x18)
    4538:	b427      	st.w      	r1, (r4, 0x1c)
		pstc->i32Q27_Output = pstc->i32Q27_Iout + (stcPIParam->i32Q12_Kp * pstc->i32Q15_Err)+(stcPIParam->i32Q12_Kd * i32Q15_Derivative);
    453a:	9466      	ld.w      	r3, (r4, 0x18)
    453c:	b864      	st.w      	r3, (r14, 0x10)
    453e:	9467      	ld.w      	r3, (r4, 0x1c)
    4540:	b865      	st.w      	r3, (r14, 0x14)
		int i32Q15_Derivative = pstc->i32Q15_Err - pstc->i32Q15_LastErr;
    4542:	946a      	ld.w      	r3, (r4, 0x28)
    4544:	5f0d      	subu      	r0, r7, r3
		pstc->i32Q27_Output = pstc->i32Q27_Iout + (stcPIParam->i32Q12_Kp * pstc->i32Q15_Err)+(stcPIParam->i32Q12_Kd * i32Q15_Derivative);
    4546:	e3ffe4cb 	bsr      	0xedc	// edc <__floatsidf>
    454a:	9648      	ld.w      	r2, (r6, 0x20)
    454c:	9669      	ld.w      	r3, (r6, 0x24)
    454e:	e3ffe28b 	bsr      	0xa64	// a64 <__muldf3>
    4552:	b801      	st.w      	r0, (r14, 0x4)
    4554:	6c1f      	mov      	r0, r7
    4556:	6d47      	mov      	r5, r1
    4558:	e3ffe4c2 	bsr      	0xedc	// edc <__floatsidf>
    455c:	9644      	ld.w      	r2, (r6, 0x10)
    455e:	9665      	ld.w      	r3, (r6, 0x14)
    4560:	e3ffe282 	bsr      	0xa64	// a64 <__muldf3>
    4564:	9844      	ld.w      	r2, (r14, 0x10)
    4566:	9865      	ld.w      	r3, (r14, 0x14)
    4568:	e3ffe244 	bsr      	0x9f0	// 9f0 <__adddf3>
    456c:	6c83      	mov      	r2, r0
    456e:	6cc7      	mov      	r3, r1
    4570:	9801      	ld.w      	r0, (r14, 0x4)
    4572:	6c57      	mov      	r1, r5
    4574:	e3ffe23e 	bsr      	0x9f0	// 9f0 <__adddf3>
    4578:	b802      	st.w      	r0, (r14, 0x8)
    457a:	b823      	st.w      	r1, (r14, 0xc)
    457c:	b403      	st.w      	r0, (r4, 0xc)
    457e:	b424      	st.w      	r1, (r4, 0x10)
		if(pstc->i32Q27_Output > stcPIParam->i32Q27_OutMax)
    4580:	966c      	ld.w      	r3, (r6, 0x30)
    4582:	b861      	st.w      	r3, (r14, 0x4)
    4584:	96ad      	ld.w      	r5, (r6, 0x34)
    4586:	6c8f      	mov      	r2, r3
    4588:	6cd7      	mov      	r3, r5
    458a:	e3ffe431 	bsr      	0xdec	// dec <__gtdf2>
    458e:	3820      	cmplti      	r0, 1
    4590:	0820      	bt      	0x45d0	// 45d0 <PI_Ctrl+0xdc>
			pstc->i32Q27_Output = stcPIParam->i32Q27_OutMax;
    4592:	9861      	ld.w      	r3, (r14, 0x4)
    4594:	b463      	st.w      	r3, (r4, 0xc)
    4596:	b4a4      	st.w      	r5, (r4, 0x10)
			pstc->u8IntegralLmtFlg=1;
    4598:	9860      	ld.w      	r3, (r14, 0x0)
    459a:	3201      	movi      	r2, 1
			pstc->u8IntegralLmtFlg=0;
    459c:	a344      	st.b      	r2, (r3, 0x4)
		if(pstc->i32Q27_Iout > stcPIParam->i32Q27_OutMax) pstc ->i32Q27_Iout = stcPIParam->i32Q27_OutMax;
    459e:	9804      	ld.w      	r0, (r14, 0x10)
    45a0:	9841      	ld.w      	r2, (r14, 0x4)
    45a2:	6cd7      	mov      	r3, r5
    45a4:	9825      	ld.w      	r1, (r14, 0x14)
    45a6:	e3ffe423 	bsr      	0xdec	// dec <__gtdf2>
    45aa:	3820      	cmplti      	r0, 1
    45ac:	0804      	bt      	0x45b4	// 45b4 <PI_Ctrl+0xc0>
    45ae:	9861      	ld.w      	r3, (r14, 0x4)
    45b0:	b466      	st.w      	r3, (r4, 0x18)
    45b2:	b4a7      	st.w      	r5, (r4, 0x1c)
		if(pstc->i32Q27_Iout < stcPIParam->i32Q27_OutMin) pstc->i32Q27_Iout = stcPIParam->i32Q27_OutMin;
    45b4:	96aa      	ld.w      	r5, (r6, 0x28)
    45b6:	96cb      	ld.w      	r6, (r6, 0x2c)
    45b8:	6c97      	mov      	r2, r5
    45ba:	6cdb      	mov      	r3, r6
    45bc:	9406      	ld.w      	r0, (r4, 0x18)
    45be:	9427      	ld.w      	r1, (r4, 0x1c)
    45c0:	e3ffe452 	bsr      	0xe64	// e64 <__ltdf2>
    45c4:	38df      	btsti      	r0, 31
    45c6:	0c03      	bf      	0x45cc	// 45cc <PI_Ctrl+0xd8>
    45c8:	b4a6      	st.w      	r5, (r4, 0x18)
    45ca:	b4c7      	st.w      	r6, (r4, 0x1c)
		pstc->i32Q15_LastErr = pstc->i32Q15_Err; // Update last error for next iteration
    45cc:	b4ea      	st.w      	r7, (r4, 0x28)
}
    45ce:	07a1      	br      	0x4510	// 4510 <PI_Ctrl+0x1c>
		else if(pstc->i32Q27_Output < stcPIParam->i32Q27_OutMin)
    45d0:	966a      	ld.w      	r3, (r6, 0x28)
    45d2:	b866      	st.w      	r3, (r14, 0x18)
    45d4:	966b      	ld.w      	r3, (r6, 0x2c)
    45d6:	9846      	ld.w      	r2, (r14, 0x18)
    45d8:	9802      	ld.w      	r0, (r14, 0x8)
    45da:	9823      	ld.w      	r1, (r14, 0xc)
    45dc:	b867      	st.w      	r3, (r14, 0x1c)
    45de:	e3ffe443 	bsr      	0xe64	// e64 <__ltdf2>
    45e2:	38df      	btsti      	r0, 31
    45e4:	0c08      	bf      	0x45f4	// 45f4 <PI_Ctrl+0x100>
			pstc->i32Q27_Output = stcPIParam->i32Q27_OutMin;
    45e6:	9866      	ld.w      	r3, (r14, 0x18)
    45e8:	b463      	st.w      	r3, (r4, 0xc)
    45ea:	9867      	ld.w      	r3, (r14, 0x1c)
    45ec:	b464      	st.w      	r3, (r4, 0x10)
			pstc->u8IntegralLmtFlg=2;
    45ee:	3202      	movi      	r2, 2
    45f0:	9860      	ld.w      	r3, (r14, 0x0)
    45f2:	07d5      	br      	0x459c	// 459c <PI_Ctrl+0xa8>
			pstc->u8IntegralLmtFlg=0;
    45f4:	9860      	ld.w      	r3, (r14, 0x0)
    45f6:	3200      	movi      	r2, 0
    45f8:	07d2      	br      	0x459c	// 459c <PI_Ctrl+0xa8>

Disassembly of section .text.ADC_Clock:

000045fc <ADC_Clock>:
//Tick 2ms
void ADC_Clock(void)
{
    static uint16_t count = 0;

    if(Probe1_PtStateDelayCount > 0) Probe1_PtStateDelayCount--;
    45fc:	1074      	lrw      	r3, 0x20000184	// 464c <ADC_Clock+0x50>
    45fe:	8b40      	ld.h      	r2, (r3, 0x0)
    4600:	3a40      	cmpnei      	r2, 0
    4602:	0c03      	bf      	0x4608	// 4608 <ADC_Clock+0xc>
    4604:	2a00      	subi      	r2, 1
    4606:	ab40      	st.h      	r2, (r3, 0x0)
    if(Probe2_PtStateDelayCount > 0) Probe2_PtStateDelayCount--;
    4608:	8b41      	ld.h      	r2, (r3, 0x2)
    460a:	3a40      	cmpnei      	r2, 0
    460c:	0c03      	bf      	0x4612	// 4612 <ADC_Clock+0x16>
    460e:	2a00      	subi      	r2, 1
    4610:	ab41      	st.h      	r2, (r3, 0x2)
    if(ADC_Tick_20ms < 0xffff) ADC_Tick_20ms++;
    4612:	1030      	lrw      	r1, 0x20000494	// 4650 <ADC_Clock+0x54>
    4614:	8940      	ld.h      	r2, (r1, 0x0)
    4616:	1010      	lrw      	r0, 0xffff	// 4654 <ADC_Clock+0x58>
    4618:	640a      	cmpne      	r2, r0
    461a:	0c03      	bf      	0x4620	// 4620 <ADC_Clock+0x24>
    461c:	2200      	addi      	r2, 1
    461e:	a940      	st.h      	r2, (r1, 0x0)
    if(Alarm_Tick_1s < 0xffff) Alarm_Tick_1s++;
    4620:	102e      	lrw      	r1, 0x200004b4	// 4658 <ADC_Clock+0x5c>
    4622:	8940      	ld.h      	r2, (r1, 0x0)
    4624:	100c      	lrw      	r0, 0xffff	// 4654 <ADC_Clock+0x58>
    4626:	640a      	cmpne      	r2, r0
    4628:	0c03      	bf      	0x462e	// 462e <ADC_Clock+0x32>
    462a:	2200      	addi      	r2, 1
    462c:	a940      	st.h      	r2, (r1, 0x0)
    count++;
    462e:	8b42      	ld.h      	r2, (r3, 0x4)
    4630:	2200      	addi      	r2, 1
    4632:	7489      	zexth      	r2, r2
    if(count >= 10)
    4634:	3a09      	cmphsi      	r2, 10
    4636:	0803      	bt      	0x463c	// 463c <ADC_Clock+0x40>
    count++;
    4638:	ab42      	st.h      	r2, (r3, 0x4)
    {
        count = 0;
        AD_Tick_20mS_Count++;
    }
}
    463a:	783c      	jmp      	r15
        count = 0;
    463c:	3200      	movi      	r2, 0
    463e:	ab42      	st.h      	r2, (r3, 0x4)
        AD_Tick_20mS_Count++;
    4640:	1047      	lrw      	r2, 0x200004d6	// 465c <ADC_Clock+0x60>
    4642:	8a60      	ld.h      	r3, (r2, 0x0)
    4644:	2300      	addi      	r3, 1
    4646:	aa60      	st.h      	r3, (r2, 0x0)
}
    4648:	07f9      	br      	0x463a	// 463a <ADC_Clock+0x3e>
    464a:	0000      	bkpt
    464c:	20000184 	.long	0x20000184
    4650:	20000494 	.long	0x20000494
    4654:	0000ffff 	.long	0x0000ffff
    4658:	200004b4 	.long	0x200004b4
    465c:	200004d6 	.long	0x200004d6

Disassembly of section .text.ADC_KeyUpDown:

00004660 <ADC_KeyUpDown>:
{
    #if filter_fun				   
        Calbr_Temp_Flag = 0;
        Change_Mode_Flag = 1;
    #endif
}
    4660:	783c      	jmp      	r15

Disassembly of section .text.weighted_average_filter:

00004664 <weighted_average_filter>:

// 加权平均滤波函数
double weighted_average_filter() 
{
    4664:	14d4      	push      	r4-r7, r15

    for(int i = 0; i < FILTER_SIZE - 1; i++) 
	{
		if (weights[i] == 0)
		{
			weights[i] = temp_set;
    4666:	1078      	lrw      	r3, 0x20000068	// 46c4 <weighted_average_filter+0x60>
    4668:	8b00      	ld.h      	r0, (r3, 0x0)
    466a:	1078      	lrw      	r3, 0x20000194	// 46c8 <weighted_average_filter+0x64>
    466c:	6c8f      	mov      	r2, r3
    for(int i = 0; i < FILTER_SIZE - 1; i++) 
    466e:	3100      	movi      	r1, 0
    4670:	6dcf      	mov      	r7, r3
		if (weights[i] == 0)
    4672:	9280      	ld.w      	r4, (r2, 0x0)
    4674:	3c40      	cmpnei      	r4, 0
    4676:	0802      	bt      	0x467a	// 467a <weighted_average_filter+0x16>
			weights[i] = temp_set;
    4678:	b200      	st.w      	r0, (r2, 0x0)
    for(int i = 0; i < FILTER_SIZE - 1; i++) 
    467a:	2100      	addi      	r1, 1
    467c:	395d      	cmpnei      	r1, 29
    467e:	2203      	addi      	r2, 4
    4680:	0bf9      	bt      	0x4672	// 4672 <weighted_average_filter+0xe>
    4682:	3200      	movi      	r2, 0
		}
	}
	for (int i = 0; i < FILTER_SIZE - 1; i++) 
	{
		weights[i] = weights[i + 1];
    4684:	2200      	addi      	r2, 1
    4686:	9321      	ld.w      	r1, (r3, 0x4)
	for (int i = 0; i < FILTER_SIZE - 1; i++) 
    4688:	3a5d      	cmpnei      	r2, 29
		weights[i] = weights[i + 1];
    468a:	b320      	st.w      	r1, (r3, 0x0)
    468c:	2303      	addi      	r3, 4
	for (int i = 0; i < FILTER_SIZE - 1; i++) 
    468e:	0bfb      	bt      	0x4684	// 4684 <weighted_average_filter+0x20>
	}
	// 在最后一个位置补充新的温度值
	weights[FILTER_SIZE - 1] = temp_set;
    4690:	b71d      	st.w      	r0, (r7, 0x74)
    4692:	3600      	movi      	r6, 0
	double sum = 0.0;
    4694:	3500      	movi      	r5, 0
    4696:	3400      	movi      	r4, 0
	// 计算温度
	for (int i = 0; i < FILTER_SIZE; i++) 
	{
		sum += weights[i];
    4698:	5f78      	addu      	r3, r7, r6
    469a:	9300      	ld.w      	r0, (r3, 0x0)
    469c:	e3ffe420 	bsr      	0xedc	// edc <__floatsidf>
    46a0:	6cc7      	mov      	r3, r1
    46a2:	6c83      	mov      	r2, r0
    46a4:	6c53      	mov      	r1, r4
    46a6:	6c17      	mov      	r0, r5
    46a8:	e3ffe1a4 	bsr      	0x9f0	// 9f0 <__adddf3>
    46ac:	2603      	addi      	r6, 4
	for (int i = 0; i < FILTER_SIZE; i++) 
    46ae:	3378      	movi      	r3, 120
    46b0:	64da      	cmpne      	r6, r3
		sum += weights[i];
    46b2:	6d43      	mov      	r5, r0
    46b4:	6d07      	mov      	r4, r1
	for (int i = 0; i < FILTER_SIZE; i++) 
    46b6:	0bf1      	bt      	0x4698	// 4698 <weighted_average_filter+0x34>
	}
	// 返回平均值
	return sum / FILTER_SIZE;
    46b8:	3200      	movi      	r2, 0
    46ba:	1065      	lrw      	r3, 0x403e0000	// 46cc <weighted_average_filter+0x68>
    46bc:	e3ffe2ee 	bsr      	0xc98	// c98 <__divdf3>
}
    46c0:	1494      	pop      	r4-r7, r15
    46c2:	0000      	bkpt
    46c4:	20000068 	.long	0x20000068
    46c8:	20000194 	.long	0x20000194
    46cc:	403e0000 	.long	0x403e0000

Disassembly of section .text.ADSampling:

000046d0 <ADSampling>:

void ADSampling(void)
{
    46d0:	14d4      	push      	r4-r7, r15
    46d2:	1421      	subi      	r14, r14, 4
    float temp_float;
	static double temp_calculation =0;
    float temp = 0;
	
    if(ADC_Tick_20ms >= 2)
    46d4:	025b      	lrw      	r2, 0x20000494	// 4964 <ADSampling+0x294>
    46d6:	8a60      	ld.h      	r3, (r2, 0x0)
    46d8:	3b01      	cmphsi      	r3, 2
    46da:	0ce4      	bf      	0x48a2	// 48a2 <ADSampling+0x1d2>
    {
        ADC_Tick_20ms -= 2;
    46dc:	2b01      	subi      	r3, 2

    if(ch == 0)
    46de:	029c      	lrw      	r4, 0x20000204	// 4968 <ADSampling+0x298>
        ADC_Tick_20ms -= 2;
    46e0:	aa60      	st.h      	r3, (r2, 0x0)
    if(ch == 0)
    46e2:	8468      	ld.b      	r3, (r4, 0x8)
    46e4:	3b40      	cmpnei      	r3, 0
    46e6:	0853      	bt      	0x478c	// 478c <ADSampling+0xbc>
    {
        temp = SamplingSingle(ADC_INTVREF_1v);
    46e8:	3005      	movi      	r0, 5
    46ea:	e3fff62d 	bsr      	0x3344	// 3344 <SamplingSingle>
        if(temp == 0) return; 
    46ee:	3840      	cmpnei      	r0, 0
    46f0:	0cd9      	bf      	0x48a2	// 48a2 <ADSampling+0x1d2>
        temp = SamplingSingle(ADC_INTVREF_1v);
    46f2:	e3ffdfeb 	bsr      	0x6c8	// 6c8 <__floatunsisf>
    46f6:	6c43      	mov      	r1, r0
        AD_1v = ((float)1000.0 / temp); 
    46f8:	0302      	lrw      	r0, 0x447a0000	// 496c <ADSampling+0x29c>
    46fa:	e3ffdec3 	bsr      	0x480	// 480 <__divsf3>
    46fe:	b403      	st.w      	r0, (r4, 0xc)

        temp = SamplingSingle(ADC_BAT_V);
    4700:	3004      	movi      	r0, 4
    4702:	e3fff621 	bsr      	0x3344	// 3344 <SamplingSingle>
    4706:	e3ffdfe1 	bsr      	0x6c8	// 6c8 <__floatunsisf>
        temp = AD_1v * temp; //分压
    470a:	9423      	ld.w      	r1, (r4, 0xc)
    470c:	e3ffde32 	bsr      	0x370	// 370 <__mulsf3>
        battery_vdd = temp * 4;
    4710:	3181      	movi      	r1, 129
    4712:	4137      	lsli      	r1, r1, 23
    4714:	e3ffde2e 	bsr      	0x370	// 370 <__mulsf3>
    4718:	b404      	st.w      	r0, (r4, 0x10)
        
        temp = SamplingSingle(ADC_Oven);
    471a:	3001      	movi      	r0, 1
    }
    else if(ch == 1) temp = SamplingSingle(ADC_Meat1);
    else if(ch == 2) temp = SamplingSingle(ADC_Meat2);
    471c:	e3fff614 	bsr      	0x3344	// 3344 <SamplingSingle>
    4720:	e3ffdfd4 	bsr      	0x6c8	// 6c8 <__floatunsisf>

    temp = AD_1v * temp; //分压
    4724:	9423      	ld.w      	r1, (r4, 0xc)
    4726:	e3ffde25 	bsr      	0x370	// 370 <__mulsf3>
    472a:	6c43      	mov      	r1, r0
    temp_float = V_Convert_R(battery_vdd, temp);
    472c:	9404      	ld.w      	r0, (r4, 0x10)
    472e:	e3fff9a3 	bsr      	0x3a74	// 3a74 <V_Convert_R>
    temp_float = Quadratic_F(temp_float);
    4732:	e3ffdfb9 	bsr      	0x6a4	// 6a4 <__extendsfdf2>
    4736:	e3fffa37 	bsr      	0x3ba4	// 3ba4 <Quadratic_F>
    473a:	e3ffe455 	bsr      	0xfe4	// fe4 <__truncdfsf2>

    if(ch == 0)
    473e:	8468      	ld.b      	r3, (r4, 0x8)
    4740:	3b40      	cmpnei      	r3, 0
    temp_float = Quadratic_F(temp_float);
    4742:	6c43      	mov      	r1, r0
    4744:	6d43      	mov      	r5, r0
    4746:	03f4      	lrw      	r7, 0x20000184	// 4970 <ADSampling+0x2a0>
    if(ch == 0)
    4748:	082c      	bt      	0x47a0	// 47a0 <ADSampling+0xd0>
    {
        temp_float = kalmanFilter(&KFP_ADC_RTD, temp_float);
    474a:	0314      	lrw      	r0, 0x200000dc	// 4974 <ADSampling+0x2a4>
    474c:	e0000176 	bsr      	0x4a38	// 4a38 <kalmanFilter>
        temp_float = MedianFilter(temp_float); 
    4750:	e00001a2 	bsr      	0x4a94	// 4a94 <MedianFilter>
    else if(ch == 1)
    {
        if(Probe1_PtStateDelayCount == 0)
        {
            temp_float = kalmanFilter(&KFP_ADC_Probe1, temp_float);
            temp_float = MedianFilterA(temp_float); 
    4754:	6d43      	mov      	r5, r0
            temp_float = MedianFilterB(temp_float); 
        }
        else kalmanFilter(&KFP_ADC_Probe2, temp_float);
    }

    if(Pt1000_State == Pt1000_Short)
    4756:	0376      	lrw      	r3, 0x200003e0	// 4978 <ADSampling+0x2a8>
    4758:	03d6      	lrw      	r6, 0x20000498	// 497c <ADSampling+0x2ac>
    475a:	9360      	ld.w      	r3, (r3, 0x0)
    475c:	3b41      	cmpnei      	r3, 1
    475e:	08a4      	bt      	0x48a6	// 48a6 <ADSampling+0x1d6>
    {
        RTD[ch].status = Pt_Short;
    4760:	8468      	ld.b      	r3, (r4, 0x8)
    4762:	4343      	lsli      	r2, r3, 3
    4764:	6098      	addu      	r2, r6
    4766:	3102      	movi      	r1, 2
        if(ch == 1) Probe1_PtStateDelayCount = 150; 
    4768:	3b41      	cmpnei      	r3, 1
        RTD[ch].status = Pt_Short;
    476a:	b221      	st.w      	r1, (r2, 0x4)
        if(ch == 1) Probe1_PtStateDelayCount = 150; 
    476c:	0833      	bt      	0x47d2	// 47d2 <ADSampling+0x102>
    476e:	3396      	movi      	r3, 150
    4770:	af60      	st.h      	r3, (r7, 0x0)
    else if(ch != 0)
    {
        if((ch == 1) && (Probe1_PtStateDelayCount == 0)) RTD[ch].status = Pt_Normal;
        if((ch == 2) && (Probe2_PtStateDelayCount == 0)) RTD[ch].status = Pt_Normal;
    }
    if(temp_float > 999) temp_float = 999; //999 ℉
    4772:	033b      	lrw      	r1, 0x4479c000	// 4980 <ADSampling+0x2b0>
    4774:	6c17      	mov      	r0, r5
    4776:	e3ffdefd 	bsr      	0x570	// 570 <__gtsf2>
    477a:	3820      	cmplti      	r0, 1
    477c:	0835      	bt      	0x47e6	// 47e6 <ADSampling+0x116>
    RTD[ch].value = temp_float;
    477e:	8468      	ld.b      	r3, (r4, 0x8)
    4780:	4343      	lsli      	r2, r3, 3
    4782:	6098      	addu      	r2, r6
    4784:	033f      	lrw      	r1, 0x3e7	// 4984 <ADSampling+0x2b4>
    4786:	b220      	st.w      	r1, (r2, 0x0)
    ch++;
    4788:	2300      	addi      	r3, 1
    478a:	043d      	br      	0x4804	// 4804 <ADSampling+0x134>
    else if(ch == 1) temp = SamplingSingle(ADC_Meat1);
    478c:	3b41      	cmpnei      	r3, 1
    478e:	0803      	bt      	0x4794	// 4794 <ADSampling+0xc4>
    4790:	3002      	movi      	r0, 2
    4792:	07c5      	br      	0x471c	// 471c <ADSampling+0x4c>
    else if(ch == 2) temp = SamplingSingle(ADC_Meat2);
    4794:	3b42      	cmpnei      	r3, 2
    4796:	0803      	bt      	0x479c	// 479c <ADSampling+0xcc>
    4798:	3003      	movi      	r0, 3
    479a:	07c1      	br      	0x471c	// 471c <ADSampling+0x4c>
    float temp = 0;
    479c:	3000      	movi      	r0, 0
    479e:	07c3      	br      	0x4724	// 4724 <ADSampling+0x54>
    else if(ch == 1)
    47a0:	3b41      	cmpnei      	r3, 1
    47a2:	080a      	bt      	0x47b6	// 47b6 <ADSampling+0xe6>
        if(Probe1_PtStateDelayCount == 0)
    47a4:	8f60      	ld.h      	r3, (r7, 0x0)
    47a6:	3b40      	cmpnei      	r3, 0
            temp_float = kalmanFilter(&KFP_ADC_Probe1, temp_float);
    47a8:	1318      	lrw      	r0, 0x200000c4	// 4988 <ADSampling+0x2b8>
        if(Probe1_PtStateDelayCount == 0)
    47aa:	0811      	bt      	0x47cc	// 47cc <ADSampling+0xfc>
            temp_float = kalmanFilter(&KFP_ADC_Probe1, temp_float);
    47ac:	e0000146 	bsr      	0x4a38	// 4a38 <kalmanFilter>
            temp_float = MedianFilterA(temp_float); 
    47b0:	e00001aa 	bsr      	0x4b04	// 4b04 <MedianFilterA>
    47b4:	07d0      	br      	0x4754	// 4754 <ADSampling+0x84>
    else if(ch == 2)
    47b6:	3b42      	cmpnei      	r3, 2
    47b8:	0bcf      	bt      	0x4756	// 4756 <ADSampling+0x86>
        if(Probe2_PtStateDelayCount == 0)
    47ba:	8f61      	ld.h      	r3, (r7, 0x2)
    47bc:	3b40      	cmpnei      	r3, 0
            temp_float = kalmanFilter(&KFP_ADC_Probe2, temp_float);
    47be:	1314      	lrw      	r0, 0x200000ac	// 498c <ADSampling+0x2bc>
        if(Probe2_PtStateDelayCount == 0)
    47c0:	0806      	bt      	0x47cc	// 47cc <ADSampling+0xfc>
            temp_float = kalmanFilter(&KFP_ADC_Probe2, temp_float);
    47c2:	e000013b 	bsr      	0x4a38	// 4a38 <kalmanFilter>
            temp_float = MedianFilterB(temp_float); 
    47c6:	e00001d9 	bsr      	0x4b78	// 4b78 <MedianFilterB>
    47ca:	07c5      	br      	0x4754	// 4754 <ADSampling+0x84>
        else kalmanFilter(&KFP_ADC_Probe2, temp_float);
    47cc:	e0000136 	bsr      	0x4a38	// 4a38 <kalmanFilter>
    47d0:	07c3      	br      	0x4756	// 4756 <ADSampling+0x86>
        if(ch == 2) Probe2_PtStateDelayCount = 150; 
    47d2:	3b42      	cmpnei      	r3, 2
    47d4:	089c      	bt      	0x490c	// 490c <ADSampling+0x23c>
    47d6:	3396      	movi      	r3, 150
    47d8:	af61      	st.h      	r3, (r7, 0x2)
    if(temp_float > 999) temp_float = 999; //999 ℉
    47da:	132a      	lrw      	r1, 0x4479c000	// 4980 <ADSampling+0x2b0>
    47dc:	6c17      	mov      	r0, r5
    47de:	e3ffdec9 	bsr      	0x570	// 570 <__gtsf2>
    47e2:	3820      	cmplti      	r0, 1
    47e4:	0c8e      	bf      	0x4900	// 4900 <ADSampling+0x230>
    RTD[ch].value = temp_float;
    47e6:	84e8      	ld.b      	r7, (r4, 0x8)
    47e8:	4763      	lsli      	r3, r7, 3
    ch++;
    47ea:	2700      	addi      	r7, 1
    RTD[ch].value = temp_float;
    47ec:	60d8      	addu      	r3, r6
    ch++;
    47ee:	75dc      	zextb      	r7, r7
    RTD[ch].value = temp_float;
    47f0:	6c17      	mov      	r0, r5
    47f2:	b860      	st.w      	r3, (r14, 0x0)
    47f4:	e3ffdf2e 	bsr      	0x650	// 650 <__fixsfsi>
    47f8:	9860      	ld.w      	r3, (r14, 0x0)
    if (ch >= 3) ch = 0;
    47fa:	3f02      	cmphsi      	r7, 3
    RTD[ch].value = temp_float;
    47fc:	b300      	st.w      	r0, (r3, 0x0)
    ch++;
    47fe:	a4e8      	st.b      	r7, (r4, 0x8)
    if (ch >= 3) ch = 0;
    4800:	0c03      	bf      	0x4806	// 4806 <ADSampling+0x136>
    4802:	3300      	movi      	r3, 0
    4804:	a468      	st.b      	r3, (r4, 0x8)
		else
		{
			grill_temperature = RTD[0].value;
		}
		
		temp_diff = (int)temp_set - grill_temperature;
    4806:	1343      	lrw      	r2, 0x20000068	// 4990 <ADSampling+0x2c0>
    4808:	8a40      	ld.h      	r2, (r2, 0x0)
		if(RTD[0].value>100)
    480a:	9660      	ld.w      	r3, (r6, 0x0)
		temp_diff = (int)temp_set - grill_temperature;
    480c:	608e      	subu      	r2, r3
    480e:	b445      	st.w      	r2, (r4, 0x14)

		if(filter_fun)
    4810:	8458      	ld.b      	r2, (r4, 0x18)
			grill_temperature = RTD[0].value;
    4812:	1321      	lrw      	r1, 0x2000013c	// 4994 <ADSampling+0x2c4>
		if(filter_fun)
    4814:	3a40      	cmpnei      	r2, 0
    4816:	1341      	lrw      	r2, 0x200004b8	// 4998 <ADSampling+0x2c8>
    4818:	6d47      	mov      	r5, r1
			grill_temperature = RTD[0].value;
    481a:	b160      	st.w      	r3, (r1, 0x0)
    481c:	b840      	st.w      	r2, (r14, 0x0)
		if(filter_fun)
    481e:	0c97      	bf      	0x494c	// 494c <ADSampling+0x27c>
		{	
			if(temp_set_updata > 10)
    4820:	8c6d      	ld.h      	r3, (r4, 0x1a)
    4822:	3b0a      	cmphsi      	r3, 11
    4824:	12de      	lrw      	r6, 0x20000220	// 499c <ADSampling+0x2cc>
    4826:	0c07      	bf      	0x4834	// 4834 <ADSampling+0x164>
			{
				temp_set_updata = 1;
    4828:	3301      	movi      	r3, 1
    482a:	ac6d      	st.h      	r3, (r4, 0x1a)
				temp_set_calculation = weighted_average_filter();
    482c:	e3ffff1c 	bsr      	0x4664	// 4664 <weighted_average_filter>
    4830:	b600      	st.w      	r0, (r6, 0x0)
    4832:	b621      	st.w      	r1, (r6, 0x4)
			}
			if((grill_temperature-temp_set_calculation<50)&&(grill_temperature-temp_set_calculation>-50))
    4834:	95a0      	ld.w      	r5, (r5, 0x0)
    4836:	6c17      	mov      	r0, r5
    4838:	e3ffe352 	bsr      	0xedc	// edc <__floatsidf>
    483c:	9640      	ld.w      	r2, (r6, 0x0)
    483e:	9661      	ld.w      	r3, (r6, 0x4)
    4840:	e3ffe0f0 	bsr      	0xa20	// a20 <__subdf3>
    4844:	3200      	movi      	r2, 0
    4846:	1277      	lrw      	r3, 0x40490000	// 49a0 <ADSampling+0x2d0>
    4848:	6dc3      	mov      	r7, r0
    484a:	6d87      	mov      	r6, r1
    484c:	e3ffe30c 	bsr      	0xe64	// e64 <__ltdf2>
    4850:	38df      	btsti      	r0, 31
    4852:	0c65      	bf      	0x491c	// 491c <ADSampling+0x24c>
    4854:	3200      	movi      	r2, 0
    4856:	1274      	lrw      	r3, 0xc0490000	// 49a4 <ADSampling+0x2d4>
    4858:	6c1f      	mov      	r0, r7
    485a:	6c5b      	mov      	r1, r6
    485c:	e3ffe2c8 	bsr      	0xdec	// dec <__gtdf2>
    4860:	3820      	cmplti      	r0, 1
    4862:	085d      	bt      	0x491c	// 491c <ADSampling+0x24c>
			{
				dis_temp_diff = (grill_temperature-temp_set_calculation)/2;
    4864:	3200      	movi      	r2, 0
    4866:	1271      	lrw      	r3, 0x3fe00000	// 49a8 <ADSampling+0x2d8>
    4868:	6c1f      	mov      	r0, r7
    486a:	6c5b      	mov      	r1, r6
    486c:	e3ffe0fc 	bsr      	0xa64	// a64 <__muldf3>
    4870:	e3ffe36e 	bsr      	0xf4c	// f4c <__fixdfsi>
    4874:	b409      	st.w      	r0, (r4, 0x24)
				else if((grill_temperature-temp_set_calculation)<=-50)
				{
					dis_temp_diff = -25;
				}
			}
			if(temp_filter_time<300)
    4876:	946a      	ld.w      	r3, (r4, 0x28)
    4878:	124d      	lrw      	r2, 0x12b	// 49ac <ADSampling+0x2dc>
    487a:	64c9      	cmplt      	r2, r3
    487c:	12cd      	lrw      	r6, 0x20000230	// 49b0 <ADSampling+0x2e0>
    487e:	9409      	ld.w      	r0, (r4, 0x24)
    4880:	0864      	bt      	0x4948	// 4948 <ADSampling+0x278>
			{
				temp_calculation = grill_temperature - (int)(((temp_filter_time*temp_filter_time)*(dis_temp_diff))/(300*300));
    4882:	7ccc      	mult      	r3, r3
    4884:	7c0c      	mult      	r0, r3
    4886:	122c      	lrw      	r1, 0xfffea070	// 49b4 <ADSampling+0x2e4>
    4888:	e3fff244 	bsr      	0x2d10	// 2d10 <__divsi3>
    488c:	6014      	addu      	r0, r5
			}
			else
			{
				temp_calculation = grill_temperature - dis_temp_diff;
    488e:	e3ffe327 	bsr      	0xedc	// edc <__floatsidf>
    4892:	b600      	st.w      	r0, (r6, 0x0)
    4894:	b621      	st.w      	r1, (r6, 0x4)
			}

			Temp_Param.oven = temp_calculation;
    4896:	9600      	ld.w      	r0, (r6, 0x0)
    4898:	9621      	ld.w      	r1, (r6, 0x4)
    489a:	e3ffe359 	bsr      	0xf4c	// f4c <__fixdfsi>
    489e:	117f      	lrw      	r3, 0x200004b8	// 4998 <ADSampling+0x2c8>
    48a0:	ab00      	st.h      	r0, (r3, 0x0)
		{
			Temp_Param.oven = grill_temperature;
		}

    }
}
    48a2:	1401      	addi      	r14, r14, 4
    48a4:	1494      	pop      	r4-r7, r15
    else if(Pt1000_State == Pt1000_Open)
    48a6:	3b42      	cmpnei      	r3, 2
        RTD[ch].status = Pt_Open;
    48a8:	8468      	ld.b      	r3, (r4, 0x8)
    else if(Pt1000_State == Pt1000_Open)
    48aa:	0805      	bt      	0x48b4	// 48b4 <ADSampling+0x1e4>
        RTD[ch].status = Pt_Open;
    48ac:	4343      	lsli      	r2, r3, 3
    48ae:	6098      	addu      	r2, r6
    48b0:	3101      	movi      	r1, 1
    48b2:	075b      	br      	0x4768	// 4768 <ADSampling+0x98>
    else if(ch != 0)
    48b4:	3b40      	cmpnei      	r3, 0
    48b6:	0c07      	bf      	0x48c4	// 48c4 <ADSampling+0x1f4>
        if((ch == 1) && (Probe1_PtStateDelayCount == 0)) RTD[ch].status = Pt_Normal;
    48b8:	3b41      	cmpnei      	r3, 1
    48ba:	0817      	bt      	0x48e8	// 48e8 <ADSampling+0x218>
    48bc:	8f60      	ld.h      	r3, (r7, 0x0)
    48be:	3b40      	cmpnei      	r3, 0
    48c0:	0802      	bt      	0x48c4	// 48c4 <ADSampling+0x1f4>
    48c2:	b663      	st.w      	r3, (r6, 0xc)
    if(temp_float > 999) temp_float = 999; //999 ℉
    48c4:	112f      	lrw      	r1, 0x4479c000	// 4980 <ADSampling+0x2b0>
    48c6:	6c17      	mov      	r0, r5
    48c8:	e3ffde54 	bsr      	0x570	// 570 <__gtsf2>
    48cc:	3820      	cmplti      	r0, 1
    48ce:	0f58      	bf      	0x477e	// 477e <ADSampling+0xae>
    RTD[ch].value = temp_float;
    48d0:	84e8      	ld.b      	r7, (r4, 0x8)
    48d2:	4763      	lsli      	r3, r7, 3
    48d4:	60d8      	addu      	r3, r6
    48d6:	6c17      	mov      	r0, r5
    48d8:	b860      	st.w      	r3, (r14, 0x0)
    ch++;
    48da:	2700      	addi      	r7, 1
    RTD[ch].value = temp_float;
    48dc:	e3ffdeba 	bsr      	0x650	// 650 <__fixsfsi>
    48e0:	9860      	ld.w      	r3, (r14, 0x0)
    48e2:	b300      	st.w      	r0, (r3, 0x0)
    ch++;
    48e4:	a4e8      	st.b      	r7, (r4, 0x8)
    48e6:	0790      	br      	0x4806	// 4806 <ADSampling+0x136>
        if((ch == 2) && (Probe2_PtStateDelayCount == 0)) RTD[ch].status = Pt_Normal;
    48e8:	3b42      	cmpnei      	r3, 2
    48ea:	0811      	bt      	0x490c	// 490c <ADSampling+0x23c>
    48ec:	8f61      	ld.h      	r3, (r7, 0x2)
    48ee:	3b40      	cmpnei      	r3, 0
    48f0:	0802      	bt      	0x48f4	// 48f4 <ADSampling+0x224>
    48f2:	b665      	st.w      	r3, (r6, 0x14)
    if(temp_float > 999) temp_float = 999; //999 ℉
    48f4:	1123      	lrw      	r1, 0x4479c000	// 4980 <ADSampling+0x2b0>
    48f6:	6c17      	mov      	r0, r5
    48f8:	e3ffde3c 	bsr      	0x570	// 570 <__gtsf2>
    48fc:	3820      	cmplti      	r0, 1
    48fe:	082a      	bt      	0x4952	// 4952 <ADSampling+0x282>
    RTD[ch].value = temp_float;
    4900:	8468      	ld.b      	r3, (r4, 0x8)
    4902:	4363      	lsli      	r3, r3, 3
    4904:	60d8      	addu      	r3, r6
    4906:	1140      	lrw      	r2, 0x3e7	// 4984 <ADSampling+0x2b4>
    4908:	b340      	st.w      	r2, (r3, 0x0)
    490a:	077c      	br      	0x4802	// 4802 <ADSampling+0x132>
    if(temp_float > 999) temp_float = 999; //999 ℉
    490c:	103d      	lrw      	r1, 0x4479c000	// 4980 <ADSampling+0x2b0>
    490e:	6c17      	mov      	r0, r5
    4910:	e3ffde30 	bsr      	0x570	// 570 <__gtsf2>
    4914:	3820      	cmplti      	r0, 1
    4916:	0b68      	bt      	0x47e6	// 47e6 <ADSampling+0x116>
    4918:	10ba      	lrw      	r5, 0x4479c000	// 4980 <ADSampling+0x2b0>
    491a:	0766      	br      	0x47e6	// 47e6 <ADSampling+0x116>
				if((grill_temperature-temp_set_calculation)>=50)
    491c:	3200      	movi      	r2, 0
    491e:	1161      	lrw      	r3, 0x40490000	// 49a0 <ADSampling+0x2d0>
    4920:	6c1f      	mov      	r0, r7
    4922:	6c5b      	mov      	r1, r6
    4924:	e3ffe282 	bsr      	0xe28	// e28 <__gedf2>
    4928:	38df      	btsti      	r0, 31
    492a:	0804      	bt      	0x4932	// 4932 <ADSampling+0x262>
					dis_temp_diff = 25;
    492c:	3319      	movi      	r3, 25
					dis_temp_diff = -25;
    492e:	b469      	st.w      	r3, (r4, 0x24)
    4930:	07a3      	br      	0x4876	// 4876 <ADSampling+0x1a6>
				else if((grill_temperature-temp_set_calculation)<=-50)
    4932:	3200      	movi      	r2, 0
    4934:	107c      	lrw      	r3, 0xc0490000	// 49a4 <ADSampling+0x2d4>
    4936:	6c1f      	mov      	r0, r7
    4938:	6c5b      	mov      	r1, r6
    493a:	e3ffe2b3 	bsr      	0xea0	// ea0 <__ledf2>
    493e:	3820      	cmplti      	r0, 1
    4940:	0f9b      	bf      	0x4876	// 4876 <ADSampling+0x1a6>
					dis_temp_diff = -25;
    4942:	3300      	movi      	r3, 0
    4944:	2b18      	subi      	r3, 25
    4946:	07f4      	br      	0x492e	// 492e <ADSampling+0x25e>
				temp_calculation = grill_temperature - dis_temp_diff;
    4948:	5d01      	subu      	r0, r5, r0
    494a:	07a2      	br      	0x488e	// 488e <ADSampling+0x1be>
			Temp_Param.oven = grill_temperature;
    494c:	1053      	lrw      	r2, 0x200004b8	// 4998 <ADSampling+0x2c8>
    494e:	aa60      	st.h      	r3, (r2, 0x0)
    4950:	07a9      	br      	0x48a2	// 48a2 <ADSampling+0x1d2>
    RTD[ch].value = temp_float;
    4952:	84e8      	ld.b      	r7, (r4, 0x8)
    4954:	47e3      	lsli      	r7, r7, 3
    4956:	6c17      	mov      	r0, r5
    4958:	61d8      	addu      	r7, r6
    495a:	e3ffde7b 	bsr      	0x650	// 650 <__fixsfsi>
    495e:	b700      	st.w      	r0, (r7, 0x0)
    4960:	0751      	br      	0x4802	// 4802 <ADSampling+0x132>
    4962:	0000      	bkpt
    4964:	20000494 	.long	0x20000494
    4968:	20000204 	.long	0x20000204
    496c:	447a0000 	.long	0x447a0000
    4970:	20000184 	.long	0x20000184
    4974:	200000dc 	.long	0x200000dc
    4978:	200003e0 	.long	0x200003e0
    497c:	20000498 	.long	0x20000498
    4980:	4479c000 	.long	0x4479c000
    4984:	000003e7 	.long	0x000003e7
    4988:	200000c4 	.long	0x200000c4
    498c:	200000ac 	.long	0x200000ac
    4990:	20000068 	.long	0x20000068
    4994:	2000013c 	.long	0x2000013c
    4998:	200004b8 	.long	0x200004b8
    499c:	20000220 	.long	0x20000220
    49a0:	40490000 	.long	0x40490000
    49a4:	c0490000 	.long	0xc0490000
    49a8:	3fe00000 	.long	0x3fe00000
    49ac:	0000012b 	.long	0x0000012b
    49b0:	20000230 	.long	0x20000230
    49b4:	fffea070 	.long	0xfffea070

Disassembly of section .text.ADInit:

000049b8 <ADInit>:
{
    49b8:	14d1      	push      	r4, r15
    LowTemp_Ctrl = 0;
    49ba:	106f      	lrw      	r3, 0x20000184	// 49f4 <ADInit+0x3c>
    49bc:	3200      	movi      	r2, 0
    49be:	a34c      	st.b      	r2, (r3, 0xc)
    LowTemp_Step = 0;
    49c0:	3200      	movi      	r2, 0
    49c2:	ab45      	st.h      	r2, (r3, 0xa)
    LowTemp_Count = 0;
    49c4:	ab44      	st.h      	r2, (r3, 0x8)
    ADC_Tick_20ms = 330; //默认开机后连续采样
    49c6:	32a5      	movi      	r2, 165
    49c8:	106c      	lrw      	r3, 0x20000494	// 49f8 <ADInit+0x40>
    49ca:	4241      	lsli      	r2, r2, 1
    49cc:	ab40      	st.h      	r2, (r3, 0x0)
    RTD[0].status = Pt_Normal;
    49ce:	3300      	movi      	r3, 0
    49d0:	104b      	lrw      	r2, 0x20000498	// 49fc <ADInit+0x44>
    Temp_Param.oven_Err = Pt_Normal;
    49d2:	108c      	lrw      	r4, 0xce4	// 4a00 <ADInit+0x48>
    RTD[0].status = Pt_Normal;
    49d4:	b261      	st.w      	r3, (r2, 0x4)
    Temp_Param.oven_Err = Pt_Normal;
    49d6:	104c      	lrw      	r2, 0x200004b8	// 4a04 <ADInit+0x4c>
    49d8:	b261      	st.w      	r3, (r2, 0x4)
    49da:	2c00      	subi      	r4, 1
    49dc:	7511      	zexth      	r4, r4
        ADSampling();
    49de:	e3fffe79 	bsr      	0x46d0	// 46d0 <ADSampling>
    for (i = 0; i < 3300; i++)
    49e2:	3c40      	cmpnei      	r4, 0
    49e4:	0bfb      	bt      	0x49da	// 49da <ADInit+0x22>
    if(TempADC_Delay0ms_Output != 0) TempADC_Delay0ms_Output();
    49e6:	1069      	lrw      	r3, 0x200004b0	// 4a08 <ADInit+0x50>
    49e8:	9360      	ld.w      	r3, (r3, 0x0)
    49ea:	3b40      	cmpnei      	r3, 0
    49ec:	0c02      	bf      	0x49f0	// 49f0 <ADInit+0x38>
    49ee:	7bcd      	jsr      	r3
}
    49f0:	1491      	pop      	r4, r15
    49f2:	0000      	bkpt
    49f4:	20000184 	.long	0x20000184
    49f8:	20000494 	.long	0x20000494
    49fc:	20000498 	.long	0x20000498
    4a00:	00000ce4 	.long	0x00000ce4
    4a04:	200004b8 	.long	0x200004b8
    4a08:	200004b0 	.long	0x200004b0

Disassembly of section .text.TempADC_Main:

00004a0c <TempADC_Main>:

void TempADC_Main(void)
{
    4a0c:	14d0      	push      	r15
    ADSampling();
    4a0e:	e3fffe61 	bsr      	0x46d0	// 46d0 <ADSampling>

    if(TempADC_Delay0ms_Output != 0) TempADC_Delay0ms_Output();
    4a12:	1067      	lrw      	r3, 0x200004b0	// 4a2c <TempADC_Main+0x20>
    4a14:	9360      	ld.w      	r3, (r3, 0x0)
    4a16:	3b40      	cmpnei      	r3, 0
    4a18:	0c02      	bf      	0x4a1c	// 4a1c <TempADC_Main+0x10>
    4a1a:	7bcd      	jsr      	r3
    if(RTD[0].status > 0)
    4a1c:	1065      	lrw      	r3, 0x20000498	// 4a30 <TempADC_Main+0x24>
    4a1e:	9361      	ld.w      	r3, (r3, 0x4)
    4a20:	3b40      	cmpnei      	r3, 0
    4a22:	0c04      	bf      	0x4a2a	// 4a2a <TempADC_Main+0x1e>
    { //烤炉探针出错
        LowTemp_Ctrl = 0; //延迟低盐检测10min
    4a24:	1064      	lrw      	r3, 0x20000184	// 4a34 <TempADC_Main+0x28>
    4a26:	3200      	movi      	r2, 0
    4a28:	a34c      	st.b      	r2, (r3, 0xc)
    }
}
    4a2a:	1490      	pop      	r15
    4a2c:	200004b0 	.long	0x200004b0
    4a30:	20000498 	.long	0x20000498
    4a34:	20000184 	.long	0x20000184

Disassembly of section .text.kalmanFilter:

00004a38 <kalmanFilter>:
 *@param KFP *kfp 卡尔曼结构体参数
 *   float input 需要滤波的参数的测量值（即传感器的采集值）
 *@return 滤波后的参数（最优值）
 */
float kalmanFilter(KFP_S *kfp,float input)
{
    4a38:	14d4      	push      	r4-r7, r15
    4a3a:	1421      	subi      	r14, r14, 4
    4a3c:	b820      	st.w      	r1, (r14, 0x0)
    4a3e:	6d03      	mov      	r4, r0
    //预测协方差方程：k时刻系统估算协方差 = k-1时刻的系统协方差 + 过程噪声协方差
    kfp->Now_P = kfp->LastP + kfp->Q;
    4a40:	9024      	ld.w      	r1, (r0, 0x10)
    4a42:	9000      	ld.w      	r0, (r0, 0x0)
    4a44:	e3ffdc62 	bsr      	0x308	// 308 <__addsf3>
    4a48:	b401      	st.w      	r0, (r4, 0x4)
    
    //卡尔曼增益方程：卡尔曼增益 = k1-1时刻系统估算协方差 / （k时刻系统估算协方差 + 观测噪声协方差）
    kfp->Kg = kfp->Now_P  / (kfp->Now_P + kfp->R);
    4a4a:	9425      	ld.w      	r1, (r4, 0x14)
    kfp->Now_P = kfp->LastP + kfp->Q;
    4a4c:	6d43      	mov      	r5, r0
    kfp->Kg = kfp->Now_P  / (kfp->Now_P + kfp->R);
    4a4e:	e3ffdc5d 	bsr      	0x308	// 308 <__addsf3>
    4a52:	6c43      	mov      	r1, r0
    4a54:	6c17      	mov      	r0, r5
    4a56:	e3ffdd15 	bsr      	0x480	// 480 <__divsf3>
    //更新最优值方程：k时刻状态变量的最优值 = 状态变量的预测值 + 卡尔曼增益 * （测量值 - 状态变量的预测值）
    kfp->out = kfp->out + kfp->Kg * (input -kfp->out); //因为这一次的预测值就是上一次的输出值
    4a5a:	9860      	ld.w      	r3, (r14, 0x0)
    4a5c:	94e2      	ld.w      	r7, (r4, 0x8)
    kfp->Kg = kfp->Now_P  / (kfp->Now_P + kfp->R);
    4a5e:	6d83      	mov      	r6, r0
    4a60:	b403      	st.w      	r0, (r4, 0xc)
    kfp->out = kfp->out + kfp->Kg * (input -kfp->out); //因为这一次的预测值就是上一次的输出值
    4a62:	6c5f      	mov      	r1, r7
    4a64:	6c0f      	mov      	r0, r3
    4a66:	e3ffdc67 	bsr      	0x334	// 334 <__subsf3>
    4a6a:	6c5b      	mov      	r1, r6
    4a6c:	e3ffdc82 	bsr      	0x370	// 370 <__mulsf3>
    4a70:	6c5f      	mov      	r1, r7
    4a72:	e3ffdc4b 	bsr      	0x308	// 308 <__addsf3>
    4a76:	6dc3      	mov      	r7, r0
    4a78:	b402      	st.w      	r0, (r4, 0x8)
    //更新协方差方程: 本次的系统协方差付给 kfp->LastP 威下一次运算准备。
    kfp->LastP = (1-kfp->Kg) * kfp->Now_P;
    4a7a:	30fe      	movi      	r0, 254
    4a7c:	6c5b      	mov      	r1, r6
    4a7e:	4016      	lsli      	r0, r0, 22
    4a80:	e3ffdc5a 	bsr      	0x334	// 334 <__subsf3>
    4a84:	6c57      	mov      	r1, r5
    4a86:	e3ffdc75 	bsr      	0x370	// 370 <__mulsf3>
    4a8a:	b400      	st.w      	r0, (r4, 0x0)
    
    return kfp->out;
}
    4a8c:	6c1f      	mov      	r0, r7
    4a8e:	1401      	addi      	r14, r14, 4
    4a90:	1494      	pop      	r4-r7, r15

Disassembly of section .text.MedianFilter:

00004a94 <MedianFilter>:

//中位值平均滤波法
#define N 20
float MedianFilter(float xn)
{
    4a94:	14d4      	push      	r4-r7, r15
    4a96:	1422      	subi      	r14, r14, 8
    static float buffer[N];
    int i = 0;
    int j = 0;
    float temp = 0;

    buffer[index] = xn;
    4a98:	1058      	lrw      	r2, 0x20000244	// 4af8 <MedianFilter+0x64>
    4a9a:	5a8e      	addi      	r4, r2, 4
    4a9c:	9260      	ld.w      	r3, (r2, 0x0)
    4a9e:	4322      	lsli      	r1, r3, 2
    index++;
    4aa0:	2300      	addi      	r3, 1
    buffer[index] = xn;
    4aa2:	6050      	addu      	r1, r4
    if(index >= N) index = 0;
    4aa4:	3b33      	cmplti      	r3, 20
    buffer[index] = xn;
    4aa6:	b100      	st.w      	r0, (r1, 0x0)
    if(index >= N) index = 0;
    4aa8:	0802      	bt      	0x4aac	// 4aac <MedianFilter+0x18>
    4aaa:	3300      	movi      	r3, 0
    index++;
    4aac:	b260      	st.w      	r3, (r2, 0x0)
{
    4aae:	3613      	movi      	r6, 19
    4ab0:	10b3      	lrw      	r5, 0x20000248	// 4afc <MedianFilter+0x68>
    4ab2:	3700      	movi      	r7, 0
    4ab4:	0411      	br      	0x4ad6	// 4ad6 <MedianFilter+0x42>

    for (j = 0; j < (N - 1); j++)
    {
        for (i = 0; i < ((N - 1) - j); i++)
        {
            if (buffer[i] > buffer[i + 1])
    4ab6:	9560      	ld.w      	r3, (r5, 0x0)
    4ab8:	9541      	ld.w      	r2, (r5, 0x4)
    4aba:	6c4b      	mov      	r1, r2
    4abc:	6c0f      	mov      	r0, r3
    4abe:	b841      	st.w      	r2, (r14, 0x4)
    4ac0:	b860      	st.w      	r3, (r14, 0x0)
    4ac2:	e3ffdd57 	bsr      	0x570	// 570 <__gtsf2>
    4ac6:	3820      	cmplti      	r0, 1
    4ac8:	2700      	addi      	r7, 1
    4aca:	0805      	bt      	0x4ad4	// 4ad4 <MedianFilter+0x40>
            {
                temp = buffer[i];
                buffer[i] = buffer[i + 1];
    4acc:	9841      	ld.w      	r2, (r14, 0x4)
                buffer[i + 1] = temp;
    4ace:	9860      	ld.w      	r3, (r14, 0x0)
                buffer[i] = buffer[i + 1];
    4ad0:	b540      	st.w      	r2, (r5, 0x0)
                buffer[i + 1] = temp;
    4ad2:	b561      	st.w      	r3, (r5, 0x4)
    4ad4:	2503      	addi      	r5, 4
        for (i = 0; i < ((N - 1) - j); i++)
    4ad6:	659d      	cmplt      	r7, r6
    4ad8:	0bef      	bt      	0x4ab6	// 4ab6 <MedianFilter+0x22>
    4ada:	2e00      	subi      	r6, 1
    for (j = 0; j < (N - 1); j++)
    4adc:	3e40      	cmpnei      	r6, 0
    4ade:	0be9      	bt      	0x4ab0	// 4ab0 <MedianFilter+0x1c>
            }
        }
    }

    return ((buffer[(N-1)/2 + 1] + buffer[(N-1)/2] + buffer[(N-1)/2 - 1]) / 3);
    4ae0:	9429      	ld.w      	r1, (r4, 0x24)
    4ae2:	940a      	ld.w      	r0, (r4, 0x28)
    4ae4:	e3ffdc12 	bsr      	0x308	// 308 <__addsf3>
    4ae8:	9428      	ld.w      	r1, (r4, 0x20)
    4aea:	e3ffdc0f 	bsr      	0x308	// 308 <__addsf3>
    4aee:	1025      	lrw      	r1, 0x40400000	// 4b00 <MedianFilter+0x6c>
    4af0:	e3ffdcc8 	bsr      	0x480	// 480 <__divsf3>
}
    4af4:	1402      	addi      	r14, r14, 8
    4af6:	1494      	pop      	r4-r7, r15
    4af8:	20000244 	.long	0x20000244
    4afc:	20000248 	.long	0x20000248
    4b00:	40400000 	.long	0x40400000

Disassembly of section .text.MedianFilterA:

00004b04 <MedianFilterA>:
float MedianFilterA(float xn)
{
    4b04:	14d4      	push      	r4-r7, r15
    4b06:	1422      	subi      	r14, r14, 8
    static float buffer[N];
    int i = 0;
    int j = 0;
    float temp = 0;

    buffer[index] = xn;
    4b08:	1059      	lrw      	r2, 0x20000244	// 4b6c <MedianFilterA+0x68>
    4b0a:	3458      	movi      	r4, 88
    4b0c:	9275      	ld.w      	r3, (r2, 0x54)
    4b0e:	4322      	lsli      	r1, r3, 2
    4b10:	6108      	addu      	r4, r2
    index++;
    4b12:	2300      	addi      	r3, 1
    buffer[index] = xn;
    4b14:	6050      	addu      	r1, r4
    if(index >= N) index = 0;
    4b16:	3b33      	cmplti      	r3, 20
    buffer[index] = xn;
    4b18:	b100      	st.w      	r0, (r1, 0x0)
    if(index >= N) index = 0;
    4b1a:	0802      	bt      	0x4b1e	// 4b1e <MedianFilterA+0x1a>
    4b1c:	3300      	movi      	r3, 0
    index++;
    4b1e:	b275      	st.w      	r3, (r2, 0x54)
{
    4b20:	3613      	movi      	r6, 19
    4b22:	10b4      	lrw      	r5, 0x2000029c	// 4b70 <MedianFilterA+0x6c>
    4b24:	3700      	movi      	r7, 0
    4b26:	0411      	br      	0x4b48	// 4b48 <MedianFilterA+0x44>

    for (j = 0; j < (N - 1); j++)
    {
        for (i = 0; i < ((N - 1) - j); i++)
        {
            if (buffer[i] > buffer[i + 1])
    4b28:	9560      	ld.w      	r3, (r5, 0x0)
    4b2a:	9541      	ld.w      	r2, (r5, 0x4)
    4b2c:	6c4b      	mov      	r1, r2
    4b2e:	6c0f      	mov      	r0, r3
    4b30:	b841      	st.w      	r2, (r14, 0x4)
    4b32:	b860      	st.w      	r3, (r14, 0x0)
    4b34:	e3ffdd1e 	bsr      	0x570	// 570 <__gtsf2>
    4b38:	3820      	cmplti      	r0, 1
    4b3a:	2700      	addi      	r7, 1
    4b3c:	0805      	bt      	0x4b46	// 4b46 <MedianFilterA+0x42>
            {
                temp = buffer[i];
                buffer[i] = buffer[i + 1];
    4b3e:	9841      	ld.w      	r2, (r14, 0x4)
                buffer[i + 1] = temp;
    4b40:	9860      	ld.w      	r3, (r14, 0x0)
                buffer[i] = buffer[i + 1];
    4b42:	b540      	st.w      	r2, (r5, 0x0)
                buffer[i + 1] = temp;
    4b44:	b561      	st.w      	r3, (r5, 0x4)
    4b46:	2503      	addi      	r5, 4
        for (i = 0; i < ((N - 1) - j); i++)
    4b48:	659d      	cmplt      	r7, r6
    4b4a:	0bef      	bt      	0x4b28	// 4b28 <MedianFilterA+0x24>
    4b4c:	2e00      	subi      	r6, 1
    for (j = 0; j < (N - 1); j++)
    4b4e:	3e40      	cmpnei      	r6, 0
    4b50:	0be9      	bt      	0x4b22	// 4b22 <MedianFilterA+0x1e>
            }
        }
    }

    return ((buffer[(N-1)/2 + 1] + buffer[(N-1)/2] + buffer[(N-1)/2 - 1]) / 3);
    4b52:	9429      	ld.w      	r1, (r4, 0x24)
    4b54:	940a      	ld.w      	r0, (r4, 0x28)
    4b56:	e3ffdbd9 	bsr      	0x308	// 308 <__addsf3>
    4b5a:	9428      	ld.w      	r1, (r4, 0x20)
    4b5c:	e3ffdbd6 	bsr      	0x308	// 308 <__addsf3>
    4b60:	1025      	lrw      	r1, 0x40400000	// 4b74 <MedianFilterA+0x70>
    4b62:	e3ffdc8f 	bsr      	0x480	// 480 <__divsf3>
}
    4b66:	1402      	addi      	r14, r14, 8
    4b68:	1494      	pop      	r4-r7, r15
    4b6a:	0000      	bkpt
    4b6c:	20000244 	.long	0x20000244
    4b70:	2000029c 	.long	0x2000029c
    4b74:	40400000 	.long	0x40400000

Disassembly of section .text.MedianFilterB:

00004b78 <MedianFilterB>:
float MedianFilterB(float xn)
{
    4b78:	14d4      	push      	r4-r7, r15
    4b7a:	1422      	subi      	r14, r14, 8
    static float buffer[N];
    int i = 0;
    int j = 0;
    float temp = 0;

    buffer[index] = xn;
    4b7c:	1059      	lrw      	r2, 0x200002c4	// 4be0 <MedianFilterB+0x68>
    4b7e:	926a      	ld.w      	r3, (r2, 0x28)
    4b80:	342c      	movi      	r4, 44
    4b82:	4322      	lsli      	r1, r3, 2
    4b84:	6108      	addu      	r4, r2
    index++;
    4b86:	2300      	addi      	r3, 1
    buffer[index] = xn;
    4b88:	6050      	addu      	r1, r4
    if(index >= N) index = 0;
    4b8a:	3b33      	cmplti      	r3, 20
    buffer[index] = xn;
    4b8c:	b100      	st.w      	r0, (r1, 0x0)
    if(index >= N) index = 0;
    4b8e:	0802      	bt      	0x4b92	// 4b92 <MedianFilterB+0x1a>
    4b90:	3300      	movi      	r3, 0
    index++;
    4b92:	b26a      	st.w      	r3, (r2, 0x28)
{
    4b94:	3613      	movi      	r6, 19
    4b96:	10b4      	lrw      	r5, 0x200002f0	// 4be4 <MedianFilterB+0x6c>
    4b98:	3700      	movi      	r7, 0
    4b9a:	0411      	br      	0x4bbc	// 4bbc <MedianFilterB+0x44>

    for (j = 0; j < (N - 1); j++)
    {
        for (i = 0; i < ((N - 1) - j); i++)
        {
            if (buffer[i] > buffer[i + 1])
    4b9c:	9560      	ld.w      	r3, (r5, 0x0)
    4b9e:	9541      	ld.w      	r2, (r5, 0x4)
    4ba0:	6c4b      	mov      	r1, r2
    4ba2:	6c0f      	mov      	r0, r3
    4ba4:	b841      	st.w      	r2, (r14, 0x4)
    4ba6:	b860      	st.w      	r3, (r14, 0x0)
    4ba8:	e3ffdce4 	bsr      	0x570	// 570 <__gtsf2>
    4bac:	3820      	cmplti      	r0, 1
    4bae:	2700      	addi      	r7, 1
    4bb0:	0805      	bt      	0x4bba	// 4bba <MedianFilterB+0x42>
            {
                temp = buffer[i];
                buffer[i] = buffer[i + 1];
    4bb2:	9841      	ld.w      	r2, (r14, 0x4)
                buffer[i + 1] = temp;
    4bb4:	9860      	ld.w      	r3, (r14, 0x0)
                buffer[i] = buffer[i + 1];
    4bb6:	b540      	st.w      	r2, (r5, 0x0)
                buffer[i + 1] = temp;
    4bb8:	b561      	st.w      	r3, (r5, 0x4)
    4bba:	2503      	addi      	r5, 4
        for (i = 0; i < ((N - 1) - j); i++)
    4bbc:	659d      	cmplt      	r7, r6
    4bbe:	0bef      	bt      	0x4b9c	// 4b9c <MedianFilterB+0x24>
    4bc0:	2e00      	subi      	r6, 1
    for (j = 0; j < (N - 1); j++)
    4bc2:	3e40      	cmpnei      	r6, 0
    4bc4:	0be9      	bt      	0x4b96	// 4b96 <MedianFilterB+0x1e>
            }
        }
    }

    return ((buffer[(N-1)/2 + 1] + buffer[(N-1)/2] + buffer[(N-1)/2 - 1]) / 3);
    4bc6:	9429      	ld.w      	r1, (r4, 0x24)
    4bc8:	940a      	ld.w      	r0, (r4, 0x28)
    4bca:	e3ffdb9f 	bsr      	0x308	// 308 <__addsf3>
    4bce:	9428      	ld.w      	r1, (r4, 0x20)
    4bd0:	e3ffdb9c 	bsr      	0x308	// 308 <__addsf3>
    4bd4:	1025      	lrw      	r1, 0x40400000	// 4be8 <MedianFilterB+0x70>
    4bd6:	e3ffdc55 	bsr      	0x480	// 480 <__divsf3>
}
    4bda:	1402      	addi      	r14, r14, 8
    4bdc:	1494      	pop      	r4-r7, r15
    4bde:	0000      	bkpt
    4be0:	200002c4 	.long	0x200002c4
    4be4:	200002f0 	.long	0x200002f0
    4be8:	40400000 	.long	0x40400000
